{% include 'includes/_navbar.html' %}
PROCESO ALGORÍTMICO PARA
RECUPERACIÓN EFICIENTE DE TEXTO
HISTÓRICO Y GESTIÓN DOCUMENTAL
JESÚS MARTÍN SILVA FERNÁNDEZ
Maestro en Ciencias de la Computación
Para Optar el Título de Doctor en Ciencias de la Computación
Doctorado en Ciencias de la Computación
Facultad de Ingeniería de Producción y Servicios
Universidad Nacional de San Agustín de Arequipa, Perú
2025
i
Indice General
Epígrafe ................................................................................... Error! Bookmark not defined.
Dedicatoria .............................................................................. Error! Bookmark not defined.
Agradecimiento ....................................................................... Error! Bookmark not defined.
Asesor ..................................................................................... Error! Bookmark not defined.
Resúmen .................................................................................. Error! Bookmark not defined.
Abstract ................................................................................... Error! Bookmark not defined.
Indice General ........................................................................................................................... i
Indice de Tablas ...................................................................................................................... iv
Indice de Figuras .......................................................................................................................v
Lista de Abreviaciones ........................................................................................................... vii
Notaciones............................................................................................................................. viii
Introducción ............................................................................................................................ ix
1 Planteamiento del Problema .................................................................................. 1
1.1 Descripción de la Realidad Problemática ...........................................................................2
1.2 Línea de Investigación ........................................................................................................3
1.3 Enunciado del Problema .....................................................................................................3
1.4 Formulación del Problema ..................................................................................................4
1.5 Objetivos de la Investigación ..............................................................................................6
1.6 Justificación del Estudio .....................................................................................................8
1.7 Delimitación de la Investigación .......................................................................................11
1.8 Limitaciones de la Investigación .......................................................................................12
1.9 Consideraciones Éticas y Legales .....................................................................................12
1.10 Estructura de la Tesis ......................................................................................................12
2 Base Teórica ........................................................................................................... 15
2.1 DEFINICION ....................................................................................................................15
2.2 Restauración Digital por Eliminación de ruido y binarización de Imágenes de
Manuscritos Históricos ...........................................................................................................19
2.3 ADQUISICIÓN DE IMÁGENES DE DOCUMENTOS .................................................19
2.4 Preprocesamiento ..............................................................................................................20
2.5 Segmentación de caracteres ..............................................................................................26
2.6 EXTRACCION DE CARACTERISTICAS .....................................................................27
2.7 ENTRENAMIENTO ........................................................................................................29
2.8 RECONOCIMIENTO .......................................................................................................29
ii
2.9 CLASIFICACION............................................................................................................ 30
2.10 Diseño base ................................................................................................................... 31
2.11 OPERACIONES BÁSICAS DE RECONOCIMIENTO ............................................... 32
2.12 TESSERACT ................................................................................................................. 34
2.13 PROCESO INTERMEDIO ............................................................................................ 35
2.14 alfabeto latino con 26 caracteres en mayúsculas y minúsculas para Reconocimiento de
Patrones .................................................................................................................................. 36
2.15 CONFORMACION DE DATOS ................................................................................... 39
2.16 REDES NEURONALES ................................................................................................ 40
2.17 RED NEURONAL CONVOLUCIONAL ..................................................................... 46
2.18 RED NEURONAL RECURRENTE (rnn) ..................................................................... 47
2.19 Modelos de Markov de Capa Oculta: HMMs ................................................................ 48
2.20 INTEGRACION DE RECURSOS ................................................................................. 50
2.21 PROCESO DE RECONOCIMIENTO DE CARACTERES.......................................... 51
2.22 POST-PROCESO ........................................................................................................... 52
2.23 CARACTERES DAÑADOS ......................................................................................... 66
2.24 DOCUMENTOS HISTORICOS .................................................................................... 67
2.25 RECONOCIMIENTO DE DOCUMENTOS HISTORICOS MANUSCRITOS ........... 71
2.26 GESTION DOCUMENTAL .......................................................................................... 71
3 Base Metodológica ................................................................................................. 81
3.1 Descripción de la base de datos ........................................................................................ 81
3.2 Redimensionar imagen .................................................................................................... 81
3.3 Tratamiento de imagen ..................................................................................................... 82
3.4 Selección de variables ...................................................................................................... 82
3.5 Construcción del modelo .................................................................................................. 84
3.6 Métodos de clasificación utilizados.................................................................................. 84
3.7 Evaluación del modelo y muestra de resultados ............................................................... 85
4 Descripción de Unidad de Análisis ...................................................................... 87
4.1 Planteamiento de Reconocimiento inteligente de caracteres ............................................ 88
4.2 ORIGEN DE DOCUMENTOS ........................................................................................ 89
4.3 Preprocesamiento para ICR. ............................................................................................. 91
4.4 proceso de reconocimiento ............................................................................................... 94
4.5 requerimientos ................................................................................................................ 105
4.6 DIAGRAMA DE CLASES ............................................................................................ 107
4.7 Procesamiento general de imagenes ............................................................................... 109
4.8 IMPLEMENTACIÓN DE COMPONENTES ICR ........................................................ 110
4.9 POST-PROCESO ........................................................................................................... 131
4.10 Implementación de Gestión documental ...................................................................... 132
iii
5 Presentación, Análisis e Interpretación de resultados ..................................... 147
5.1 RECONOCIMIENTO DESPLIEGUE de proyecto en NUBE (Heroku) ........................147
5.2 PRUEBA DE CLASIFICACION ...................................................................................148
5.3 PRUEBA DE DESEMPEÑO DE LOS MÉTODOS PROPUESTOS BASADOS EN
MATRICES KERNEL ..........................................................................................................149
5.4 RESULTADOS ...............................................................................................................150
6 Propuesta de Mejora ........................................................................................... 157
7 Conclusiones ........................................................................................................ 161
8 Recomendaciones ................................................................................................ 162
Indice .............................................................................. Error! Bookmark not defined.
Anexos ..................................................................................................................... 164
DESPLIEGUE de proyecto en Heroku .................................................................................165
Tesseract en Servidores Linux. .............................................................................................167
Inicio de TensorFlow en java ................................................................................................170
Ngrok generación de URL pública .......................................................................................173
Spring Tool como herramienta de desarrollo ........................................................................174
Desarrollo de la interfaz ........................................................................................................177
iv
Indice de Tablas
[The List of Figures can be created automatically and updated with the F9 key refer to Thesis PAM.]
No table of figures entries found.
v
Indice de Figuras
Fig 1: Contexto de Problema del trabajo ..................................................................................1
Fig 2: Tipos de reconocimiento de caracteres ...........................................................................2
Fig 3: Proceso base de reconocimiento de caracteres ...............................................................2
Fig 4: Tipos de reconocimiento de caracteres ...........................................................................5
Fig 5: Caja para reconocimiento (Rubio Sánchez et al., 2017) .................................................9
Fig 6: Adquisición de datos ....................................................................................................16
Fig 7: Proceso simple de reconocimiento de caracteres..........................................................18
Fig 8: Proceso de reconocimiento detalle parcial ...................................................................20
Fig 9: Imagenes con y sin color de fondo ...............................................................................21
Fig 10: Proceso de reconocimiento de caracteres ...................................................................32
Fig 11: Proceso de corrección de sesgo ..................................................................................34
Fig 12: Proceso de Reconocimiento por etapas ......................................................................36
Fig 13: Segmentación .............................................................................................................37
Fig 14: Limpieza .....................................................................................................................37
Fig 15: Modelo de proceso de reconocimiento y aprendizaje .................................................37
Fig 16:Sistema de reconocimiento con aprendizaje ................................................................38
Fig 17: Redes de avance feedforward .....................................................................................40
Fig 18: Neuronas artificiales ...................................................................................................40
Fig 19: Gráfica de Red Neuronal ............................................................................................41
Fig 20: Función de activación de neurona sigmoide ...............................................................42
Fig 21: Dimensiones de tensor resultante de convolución ......................................................47
Fig 22: Abstracción de una capa aislada .................................................................................47
Fig 23: Topologías recurrentes y representación de una neurona aislada ...............................47
Fig 24: Función dinámica en el tiempo ...................................................................................48
Fig 25: Proceso secuencia de reconocimiento y componentes ...............................................50
Fig 26: Diagrama de proceso de reconocimiento ....................................................................51
Fig 27: Proceso de extracción de palabras con hipegrafos .....................................................59
Fig 28: Extractor de palabras clave .........................................................................................61
Fig 29: Dependencias sintácticas por oración .........................................................................61
Fig 30; Arbol sintáctico de dependencias ...............................................................................63
Fig 31: Trigrama de elementos léxicos ...................................................................................63
Fig 32: Frecuencia de palabras en textos ................................................................................64
Fig 33: Proceso identificación caracteres rotos .......................................................................67
Fig 34: Proceso para detector ruido ........................................................................................69
vi
Fig 35: Eliminación de bordes de digitalización .................................................................... 69
Fig 36: Eliminación de interferencias de atras adelante ......................................................... 69
Fig 37: mejora de imagen final ............................................................................................... 70
Fig 38: Proceso de composición ............................................................................................. 70
Fig 39: Arquitecura de gestión de recuperación documental ................................................. 74
Fig 40: Flujo de proceso de indexación documental .............................................................. 78
Fig 41: Fases de reconocimiento de caracteres ...................................................................... 81
Fig 42: Proceso de reconocimiento Tess2text ........................................................................ 95
Fig 43: Pre-procesado de imagen Tesseract ........................................................................... 95
Fig 44: Reconocimiento de caracter Tesseract ....................................................................... 95
Fig 45: Entrenamiento Tesseract ............................................................................................ 95
Fig 46: Flujo de entrenamiento Tesseract .............................................................................. 97
Fig 47: Caso de uso Tesseract ................................................................................................ 98
Fig 48: Diagrama de clases red RNN ................................................................................... 108
Fig 49: Diagrama de Clases de Sistema ............................................................................... 109
Fig 50: Proceso de reconocomiento ..................................................................................... 120
Fig 51: Arquitectura de Gestión documental eficiente ......................................................... 158
Fig 52: Sistema Blockchain para transacciones de Gestion documental .............................. 159
vii
Lista de Abreviaciones
If appropriate, list any abbreviations used in the thesis.
AEC Arquitectura para Extracción de Características
ANN Artificial Neural Networks, Redes Neuronales Artificiales
ANN Artificial Neural Network
ARB Arquitectura Recurrente Bidireccional
ARD Arquitectura para Reducción de Dimensionalidad
CNN Red Neuronal Convolucional
CTC Connecionist Temporal Classification
DL Deep Learning, aprendizaje profundo
DCT Transformada de Coseno Discreta
HMM Hidden Markov Model, Modelos de Markov de Capa Oculta
HWR Handwriting recognition
HSL hue o matiz, saturation o saturación, luminosity o luminosidad/tono
ICR Reconocimiento inteligente de caracteres
LCS Learning Classifier Systems
LSTM Long Short Term Memory
MLP MultiLayer Perceptron
MLSTM Multi-Dimensional Long ShortTerm Memory
NHR Reconocimiento de manuscrito natural
OCR Reconocimiento optico de caracteres
OHR Offline Handwriting Recognition, Reconocimiento estático de manuscritos
PCA Principal component analysis
RATM Reconocimiento Automático de Texto Manuscrito
RFE Eliminación recursiva de atributos (Recursive Feature Elimination)
RGB Red rojo, verde, azul
RH Reconocimiento del Habla
RNN Recurrent Neural Networks, Red Neuronal Recurrente
ROC Receiver operating characteristic curve
RTM Texto Manuscrito Continuo
RFE Eliminación Recursiva de Características
SVM Máquinas de soporte vectorial
WARM Write Always Read Many
WROM Write Once Read Many
YCbCr espacios de color usada en sistemas de vídeo y fotografía digital
󰇍
󰇍

viii
Notaciones
vector columna de datos
y etiqueta de datos
󰇍
󰇍
vector columna no-cero
󰇍
󰇍
Transpuesta de
󰇍
󰇍
 Matriz nxm de valores reales
i parámetro de índice para el número de clases, i = 1, ..., q
j parámetro de índice para el número de núcleos, j = 1, ..., p
ix
Introducción
The work contained in this thesis has not been previously submitted to meet
requirements for an award at this or any other higher education institution. To the best
of my knowledge and belief, the thesis contains no material previously published or
written by another person except where due reference is made.
Signature: _________________________
Date: _________________________
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
1
1 Planteamiento del Problema
Los documentos físicos y digitales son portadores de información institucional actual e
histórica con el fin principal de la toma de decisiones, de supervisión y control y de memoria
como patrimonio organizacional, siendo las operaciones de generación, almacenamiento y
consulta documental inherentes a esta gestión.
Los sistemas actuales resuelven de manera automática las operaciones de generación y
almacenamiento digital y por tanto la recuperación y consulta utilizando indexamiento con
características de exhaustividad y rapidez.
La documentación histórica cuyo contenido generalmente es reconocido cada vez en
mayor porcentaje, esta documentación fue generada de forma física y en gran volumen tiene
información relevante para resolver los objetivos principales de la gestión documental, sin
embargo, se debe realizar actividades de preparación para generar almacenamiento digital de
ese tipo documental con el fin de su recuperación eficiente.
La documentación histórica tiene diversas características que no permiten la recuperación
con proceso regular para estado aceptable de documento en forma y contenido, sino tiene otros
estados de deterioro físico y de contenido de información básicamente de nitidez, que
disminuye significativamente por el uso de caracteres manuscritos y ruido por antigüedad.
En consideración de estas características, el presente trabajo se refiere a dos aspectos para
mejorar el proceso de recuperación, referente a mejorar el proceso de reconocimiento de
caracteres manuscritos y optimizar el proceso de gestión documental referente a captura,
almacenamiento y consulta.
El escáner de retina es el concepto inicial de reconocimiento de caracteres, que es una
imagen que hace uso de fotocélulas en mosaico.
actual y futura
Almacenamiento
Indexamiento
Consulta
Almacenamiento
Indexamiento
Consulta
Gestión documento digital
Reconocimiento
Exposición
Exposición
Fig 1: Contexto de Problema del trabajo
2
En 1890 se realizó un importante hito a máquinas de lectura con características de Nipkow,
que es un escáner secuencial. En el ICR las etapas iniciales se consideran como ayuda para
personas con problema visual. (Abdulwahhab Hamad & Kaya, 2013)
1.1 DESCRIPCIÓN DE LA REALIDAD PROBLEMÁTICA
El Reconocimiento Óptico de Caracteres es el problema de identificar caracteres
procesados ópticamente. Este reconocimiento se realiza fuera de línea después de que se ha
escrito o impreso en forma completa, y el reconocimiento en línea en el que el computador
reconoce los caracteres a medida que se dibujan. Se puede reconocer los caracteres impresos
y los escritos a mano, la eficiencia depende de la calidad de los documentos de entrada.
El reconocimiento de caracteres es subconjunto del reconocimiento de patrones.
El número de fuentes es limitado por el método de reconocimiento de patrones
aplicado a coincidencia de plantillas, compara la imagen del carácter con una
biblioteca de imágenes prototipo para cada carácter de cada fuente.
Componentes de un Sistema básico de reconocimiento de caracteres:
Reconocimiento de caracteres
Fuera de línea
En línea
Caracteres simples
Escritura manuscrita
Impreso
Manuscrito
Reconocimiento
Verificación
Escaneo
óptico
Segmentación
de ubicación
Extracción de
características
Post procesamiento
de reconocimiento
Fig 2: Tipos de reconocimiento de caracteres
Fig 3: Proceso base de reconocimiento de caracteres
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
3
1.2 LÍNEA DE INVESTIGACIÓN
Reconocimiento automático de patrones, análisis de imágenes y generación de
características, forma parte de sistemas inteligentes y tratamiento de imágenes
Gestión documental, operaciones de captura, almacenamiento y consulta en un
entorno de algoritmos eficientes.
1.3 ENUNCIADO DEL PROBLEMA
1.3.1 Reconocimiento de caracteres manuscritos históricos
Con el escaneado se captura una imagen digital del documento original, la
segmentación determina los constituyentes de una imagen, para localizar las regiones
del documento donde están los datos y distinguirlos de figuras, aplicada al texto, la
segmentación es aislar caracteres o palabras. El preproceso es para limpiar la imagen
de escaneo de ruido existente, que puede eliminarse y suavizar los caracteres
digitalizados, el alisado es el relleno y adelgazamiento, el suavizado, incluye la
normalización, para obtener caracteres de tamaño, inclinación y rotación uniformes.
Las técnicas de comparación y correlación, utiliza matriz que contiene la imagen del
carácter de entrada y la compara directamente con un conjunto de caracteres prototipo
que representan cada clase posible. La clasificación identifica cada carácter y asigna
la clase de carácter correcta.
El post-procesamiento utiliza el agrupamiento para asociar los símbolos
individuales que pertenecen a la misma cadena, formando palabras y números. Los
modelos de reconocimiento identifican con menos del 100% de todos los caracteres,
algunos de estos errores se detectan y se corrigen utilizando el contexto
La captura de datos con tecnologías para grandes cantidades, restringido al juego
de caracteres limitado, los lectores son notablemente tolerantes a la mala calidad de
impresión. Las máquinas de lectura son para grandes cantidades de texto en un entorno
de procesamiento de textos.
La aplicación ICR puede reconocer no solo el texto impreso, sino también el tipo
de Fuente, considerando tamaño y formato derrafo El tiempo de reconocimiento de
una sola página A4 puede ser algunos nanosegundos, dependiendo de configuración
de hardware y software.
4
El uso específico de la tecnología ICR es el reconocimiento de formularios,
documentos que tienen cierta estructura o diseño específico. El reconocimiento de
formas difiere de texto completo, recupera piezas particulares y predefinidas de
información de un documento; ICR juega un papel importante en la digitalización y
decodificación del patrimonio cultural impreso.
El uso de tecnologías ICR, permite el reconocimiento de texto confiable y la
digitalización integral de documentos antiguos y, las fuentes históricas que están
disponibles.
Con lectores de velocidad y precision y, software como ICR, se puede descifrar
fuentes manuales de forma fiable en el contexto de proyectos de digitalización
individuales para bibliotecas, y la digitalización masiva de documentos de texto
históricos
El uso de ICR permite que los textos antiguos sean utilizados para reimpresiones.
En documentos antiguos se puede realizar búsquedas eficientes con el uso de formatos
digitales, como XML, con meta-información (por ejemplo, información sobre el
diseño original del documento), archivos PDF y libros electrónicos con capacidad de
búsqueda, y se amplía considerablemente las posibilidades de distribuir documentos
históricos, evitando el uso de valiosos originales.
1.3.2 Proceso de Gestión documental eficiente
La operación de digitalización de la documentación histórica tiene
requerimientos especificos por el estado de documentos físicos generalmente en
deterioro y/o impression de texto con ruido.
Tambien la organización de documentación física es desordenada y los criterios
de ordenamiento son muy generales, impactando en la recuperación de la información
en rapidez y nivel de detalle.
1.4 FORMULACIÓN DEL PROBLEMA
1.4.1 Problema General
El reconocimiento de manuscritos combina visión artificial con aprendizaje
secuencial. la segmentación de cada carácter es difícil debido a los distintos tipos de
caligrafía y a la naturaleza cursiva de la escritura a mano. Considerando estos factores
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
5
se diseñan modelos de reconocimiento de palabras completas o líneas de texto, es
decir, la secuencia de caracteres. Se considera:
Definición del problema, para extraer la palabra manuscrita de imagen,
Uso de algoritmos basados en Aprendizaje Automático
Resultados y evaluación de los mismos
1.4.2 Problemas Específicos
El reconocimiento de caracteres manuscritos puede mejorar con algunas
actividades complementarias:
a) Pre-reconocimiento: en los manuscritos es usual encontrar caracteres
partidos los que requieren un procesamiento para unir las líneas del carácter
antes del reconocimiento
b) Post-reconocimiento: luego del reconocimiento se tiene un % de eficiencia
creciente y con el fin de mejorar este indicador se realiza un reconocimiento
de caracteres a partir del reconocimiento de palabras, con el que el % se
mejora significativamente .
c) El proceso de gestión de documentación histórica: incluye la captura,
almacenamiento, indexación y consulta considerando las variables
inherentes a cada etapa.
Reconocimiento
de Caracteres
Manuscrito
Impreso a
máquina
Símbolos
aislados (ICR)
Palabras y líneas
completas(NHR)
Online
Offline
Online
Offline
Fuente
única
Varios
tipos de
fuente
Fig 4: Tipos de reconocimiento de caracteres
6
1.5 OBJETIVOS DE LA INVESTIGACIÓN
1.5.1 Objetivo General
El objetivo del presente trabajo es implementar algoritmos, para mejorar el
reconocimiento de caracteres manuscritos históricos, previa preparación de los
mismos con el fin de recuperar tres componentes:
Documento histórico optimizado
Reconocimiento de texto mejorado con algoritmos de preparación y de
reconocimiento final.
Proceso de recuperación documental optimizando principalmente
búsqueda y valor de contenido.
En la escritura manuscrita se busca reconocer cada letra, y obtener su
significado semántico. La solución se compone de los siguientes pasos: preproceso,
extracción de características y reconocimiento e interpretación integrada a través de
modelos de estados finitos y transductores estocásticos de estados finitos.
En el primer paso se divide en neas de texto y se limpia la imagen de ruido.
Después de extraer neas y eliminar el ruido se procede corregir la inclinación de
palabras (skew) y letras (slant). Luego se elimina la mayor parte de la variabilidad
vertical de la imagen por escalado. Se genera vectores de características mediante el
normalizado de nivel gris y las derivadas horizontales y verticales. Con los vectores
de características se aplica el clasificador.
BASE DE
CONOCIMIENTO
Adquisición
de Imágenes
Preprocesado
Segmentación
Descripción
Reconocimiento
e interpretación
Postproceso
Consulta
Palabras clave
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
7
Se analiza e implementa modelos DL de mejora de resultados de OHR , para la
documentación histórica, con aspectos matemáticos, en forma de tensor de entrada, y
generar palabra, como secuencia de etiquetas
La función (x) que transforma el tensor en la secuencia dentro de un
conjunto Ω, formado por pares (, ), que representa todas las posibles imágenes con
palabras escritas:
= (), (, ) (Y1) B
El sistema aprende a leer imágenes y genera la salida hasta la ideal y conocida.
Este tipo es el aprendizaje supervisado; en el no supervisado, se deduce una función
con datos de entrenamiento compuestos por pares (, ). Entonces, el sistema OHR se
comporta como función ′(·) que con entrada de un tensor y unos parámetros , se
obtiene resultado una secuencia ′, que es la salida del sistema:
= ′(, )
genera resultado del sistema, para par (, ) de todo Ω. Este problema de
optimización, tiene objetivo genérico:
 = (, ), (, )
(·) es una función error para medir diferencia entre dos secuencias, y que tiene
valor 0 cuando ambas son iguales. Esta función objetivo y un subconjunto  Ω,
representa el problema general de aprendizaje de minimizar, o encontrar valores
suficientemente pequeños de este error y realizar distintas evaluaciones sobre los
diversos modelos encontrados.
1.5.2 Objetivos Específicos de Gestión documental
Recuperar y recolectar la información de los documentos de archivos
Utilizar información de los documentos en la toma de decisions
Filtrar la información relevante de la documentación
La gestión de documentos se aplica durante todo el ciclo de vida del mismo
desde la producción del documento hasta su disposición con fines de conservación
permanente o eliminación. El ciclo de vida documental tiene tres etapas básicas:
diseño, creación y mantenimiento incluye preservación y uso (Zea Evelin, 2016), la
operación de recuperación/consulta depende de la indexación.
8
1.6 JUSTIFICACIÓN DEL ESTUDIO
1.6.1 Teórica
En el reconocimiento histórico y significativo se pueden hacer mejoras en la
calidad. La precisión se puede lograr, con parámetros como:
• Calidad del papel original
• Calidad del escaneo
• Parámetros de escaneo correctos
• Calidad del procesamiento de la imagen
Calidad del análisis de documentos para identificar con precisión las áreas de
texto
• Reconocimiento de caracteres optimizado para fuentes antiguas
• Uso de una solución ICR especializada en escritura histórica
• Opciones de corrección automatizada
Los estándares de calidad se pueden lograr con la aplicación ICR y, requieren
más tiempo cuando se trata de documentos históricos. Por lo tanto, son importantes los
procesos preparatorios, el proceso de reconocimiento y el post-procesamiento de los
resultados de ICR.
Los documentos históricos están escritos en un lenguaje antiguo y utilizando la
ortografía histórica, que difiere de la ortografía actual, entonces el uso de la búsqueda
inteligente es necesaria.
La tecnología de búsqueda para encontrar palabras en ortografía "histórica" es
capaz de encontrar palabras con errores de ICR, porque utiliza algoritmos de búsqueda
difusa.
En los sistemas ICR y NHR se distingue según el tipo de entrada, sistemas de
reconocimiento dinámico y sistemas de reconocimiento estático, también conocidos
como sistemas online y offline, respectivamente. Los sistemas de reconocimiento
dinámico reconocen el texto mientras el usuario está escribiendo, esta información
incluye el número, la duración y el orden de cada trazo. Los sistemas de
reconocimiento estático tienen el texto completo, no tienen acceso a la información
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
9
dependiente del tiempo se considera una tarea más compleja y desafiante. (Martnez
Mndez, 2004).
1.6.2 Práctica
El reconocimiento estático de manuscritos OHR, se realiza con Modelos Ocultos
de Markov HMM, y con arquitecturas de Aprendizaje Profundo DL, basadas en Redes
Neuronales Artificiales ANN, (Rubio Sánchez et al., 2017)
Se describe el funcionamiento de modelos basados en DL sobre problemas de OHR.
Las arquitecturas RNNs y CNNs consiguieron mejorar los resultados, estos
sistemas no experimentaron un progreso sustancial hasta la aparición de las redes
MLSTM y las CTC, redes para aprovechar más información y mejorar el aprendizaje
(Rubio Sánchez et al., 2017)
Fig 5: Caja para reconocimiento (Rubio Sánchez et al., 2017)
Las Redes RNN han demostrado su eficacia en el modelado de
secuencias(Custodio, 2016). Las RNNs son un tipo de ANN donde las conexiones
entre las neuronas forman ciclos dirigidos, lo que genera un estado interno que
consigue un comportamiento temporal dinámico para modelar secuencias largas con
estructuras complejas. Estas arquitecturas son intrínsecamente profundas en el tiempo
y tienen muchas capas, con un entrenamiento de optimización difícil. La explosión y
10
el desvanecimiento del gradiente fueron las razones de la falta de aplicaciones
prácticas de las RNN. Para estos problemas se realizaron avances en el diseño de
RNNs, donde destacan las llamadas redes LSTM, que están compuestas por celdas
diseñadas para sustituir a las clásicas neuronas, con rendimiento superior en problemas
de modelado de secuencias
1.6.3 Metodológica
La esencia del trabajo es el mejoramiento de resultados del proceso de
reconocimiento de texto y recuperación de documentos históricos, para lo que se
plantea un modelo análitico cuantitativo basado en experimentación de muestra y
valoración de resultados.
En este modelo de investigación se considera (Arturo et al., 2011):
Fase conceptual: Formulación y delimitación del problema, Revisión de la
literatura, Construcción del marco teórico, Formulación de hipótesis.
Fase de planeación y diseño: Selección de un diseño de investigación,
Identificación de la población que se va a estudiar, Selección de métodos e
instrumentos, Diseño del plan de muestreo, Término y revisión del plan de
investigación, Realización del estudio piloto y las revisiones.
Fase empírica: Recolección de datos, Preparación de los datos para análisis.
Fase analítica: Análisis de datos, Interpretación de resultados,
Fase de difusión, Comunicación de las observaciones, Aplicación de las
observaciones.
1.6.4 Social
La recuperación documental histórica de las instituciones tiene como fin:
La argumentación y reflexión previa a la toma de decisions por parte
de los diferentes órganos y servicios de las instituciones, así como
garantizar la calidad en la gestión de sus servicios
Construir la memoria como elemento clave de la conciencia colectiva
y de la cultura del future, generan conocimiento y con ello, se facilita la
mejora continua.
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
11
La administración electronica y documentos digitales optimizan la consulta
de información relevante y pertinente para culaquier situación específica.
Preservación de documentación con características esenciales
1.6.5 Económica
La recuperación de texto y documentos históricos optimiza el uso de
recursos principalmente financieros:
Tiempos de consulta que se reducen significativamente debido a la
recuperación digital
Espacio físico se reemplaza pr almacenamiento digital, que tiene ventajas
de preservación temporal y de espacios reducidos debido a su
almacenamiento digital
Recursos humanos dedicados a la gestión documental se reducen debido
a que las actividades básicas de gestión son de atención contínua y
mantenimiento electrónico.
1.7 DELIMITACN DE LA INVESTIGACIÓN
El alcance del Proyecto está delimitado a dos temas fundamentales:
Reconocimiento de texto manuscrio de textos con caracteres deteriorados:
Los reconocedores convencionales al trabajar con letra cursiva y textos
antiguos tiene resultados con precision creciente, el proyecto implica la
mejor implementación posible a problemas como segmentación de escritura
continua, entendimiento de texto completo en base a clasificación de
caracteres y palabras previa identificación de palabras en imágenes digitales
que contienen diferentes tipos información generalmente con ruido.
Recuperación de documentación histórica en condiciones de pérdida
continua de información: Conjunto de los procesos destinados a garantizar
la continuidad de los elementos del patrimonio digital durante todo el tiempo
que se consideren necesarios; teniendo como objetivo, garantizar su
accesibilidad a largo plazo. Se consideran funciones de preservación,
conservación, restauración y recuperación para alcanzar una mayor calidad
12
de la información y una selección efectiva de la información con un soporte
tecnológico adecuado.
Proceso de gestión documental eficiente, con actividades desde la captura de
información hasta la consulta eficiente.
1.8 LIMITACIONES DE LA INVESTIGACIÓN
Las restricciones de la investigación son:
El idioma español del que se tiene la Base de datos de caracteres y palabras para
el proceso de reconocimento.
Las base de datos de caracteres en la que se tiene diversidad de formas de
caracteres pero igualmente acotado a su cantidad.
Algoritmos de mejora en el pre y post proceso en el reconocimiento de caracteres
y para la recuperación documental.
1.9 CONSIDERACIONES ÉTICAS Y LEGALES
Los aspectos de ética se restringe a la orientación del investigador en relación a los
derechos de los autores y las formas de presentación de fuentes investigadas, en el
Proyecto se toma como componente existente a:
Los algoritmos conocidos para el reconocimiento de texto manuscrito en
diversas plataformas principalmente en Tesseract version actual y, se
implementa algoritmos propuestos por trabajos de investigación debidamente
referenciados, con el fin de mejorar la precision de resultados.
Algoritmos de reestructuración documental con fines de mejorar su
representación de origen.
Proceso de recuperación documental con el objeto de digitalización y
recuperación confiable y optimizada de contenido
1.10 ESTRUCTURA DE LA TESIS
Capítulo 1
Planteamiento
del Problema
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
13
Capítulo 4
Descripción de
Unidad de Alisis
Capítulo 2
Base Teórica
Capítulo 3
Base Metológica
Capítulo 5
Presentación de
Resultados
Capítulo 6
Propuesta de Mejora
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
15
2 Base Teórica
Se describen conceptos a considerar en el trabajo como base teórica que explican de por
sí, el fin de su uso:
Tecnologías de Reconocimiento
2.1 DEFINICION
Las tecnologías de reconocimiento pueden clasificarse como:
a) Estadística
El proceso lógico de algoritmos de reconocimiento de caracteres con base en
estadísticas es:
Cálculo de estadísticas relevantes para una imagen digitalizada
Comparación de estadísticas con base de datos predefinida
b) Semántica
Las actividades de un clasificador basado en la semántica para el reconocimiento
de caracteres son:
Búsqueda del punto inicial de un contorno.
Trazado del contorno.
Identificación de características del contorno mientras se traza:
“arriba”, “abajo”, “diagonal arriba”, “arco”, “bucle”, etc.
Búsqueda en base de datos de descripción similar a la obtenida, se
ejecuta por representación de descripciones en árbol lógico (gráfico) y
luego se compara con los gráficos de la base de datos
c) Híbrido.
Reconocimiento de Texto Manuscrito: tarea que transforma un lenguaje
representado por su forma espacial de marcas gráficas a una representación simbólica.
Esta representación simbólica es el código ASCII de 8 bits.
16
El Reconocimiento de Patrones es el estudio de como las máquinas pueden
observar el ambiente o entorno, aprender a distinguir patrones de interes a partir de la
experiencia, y tomar decisiones razonables de las categorías a las que pertenecen.
La precision en el reconocimiento asociada a imagen degradada o a caracteres
manuscritos es insuficiente, por errores de reconocimiento
Se propone combinación de algoritmos complementarios que detectan
ambiguedades y las resuelven, lo que constituye el aporte del trabajo. Se considera un
sistema mas completo de reconocimiento de patrones en etapas, con arquitectura
modular, utiliza distintas características extraidas de los patrones de entrada.
Forma de adquisición de datos: Se distingue dos tipos de adquisiciones de
datos descritos en capítulo anterior:
“On-Line” : los datos se obtienen en tiempo real mientras se escribe.
“Off-Line” : los datos son registrados por medio de escáneres o cámaras en
forma de imágenes.
También estos sistemas de reconocimiento pueden se dividen en dos categorías
principales: el reconocimiento dinámico y el reconocimiento estático.
La información no tiene una naturaleza temporal, es bidimensional y consiste de
una imagen de caracteres digitalizada.
Fig 6: Adquisición de datos
Los todos de investigaciones ICR fueron Template Matching y Analisis
Estructural, también conocido como Feature Matching, son métodos de clasificación
basados en aprendizaje, especialmente las Redes Neuronales Artificiales (RNA),
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
17
entonces los cuatro enfoques s importantes para el Reconocimiento de Patrones
son: Template Matching, Clasificación Estadística, Correspondencia Sintáctica o
Estructural y Redes Neuronales artificiales.
Template Matching se orienta a determinar el grado de similitud de dos entidades
del mismo tipo, que pueden ser puntos, curvas u otras formas. Con este fin se utiliza
un prototipo como patron a reconocer (de dos dimensiones) y aprende a partir de datos
de entrenamiento. Las técnicas de Template Matching pueden agruparse en tres
categorías: Correspondencia Directa, Prototipos Deformables y Correspondencia
Elástica, y Correspondencia Relajada.
En enfoque Estadístico, cada patrón se representa como características o
mediciones, como un punto en el espacio de dimensiones. El objetivo es seleccionar
características de patrones que pertenezcan a distintas categorías que ocupen regiones
compactas y disjuntas en el espacio de características dimensional, para separar los
elementos de cada clase adecuadamente. Con un conjunto de patrones de
entrenamiento, se establecen límites de decision en este espacio de características, en
base a las distribuciones de probabilidad de patrones por clase. Las técnicas de
escritura manuscrita son de este grupo, ejemplo, el vecino mas cercano (k-
NearestNeighbor), el clasificador Bayesiano, el clasificador discriminante polinomial,
Modelos Markovianos Ocultos (Hidden Markov Model - HMM), Maquinas de Soporte
Vectorial (Support Vector Machines), y otros.
Los Patrones Sintácticos, es una analogía formal de la estructura de los patrones
y la sintaxis del lenguaje. Los patrones son estructuras u oraciones del lenguaje, y las
primitivas o subpatrones elementales son el alfabeto, éstas estructuras u oraciones son
generadas con una gramática, el conjunto de patrones complejos se describen
utilizando un número pequeño de primitivas y reglas gramaticales, la gramática de
cada clase se infiere del conjunto de patrones de entrenamiento. La dificultad son los
grandes conjuntos de datos y tienen altos costos computacionales.
Las Redes Neuronales Artificiales tienen la característica de poder aprender
correspondencias no-lineales complejas entre valores de entrada y salida, se entrenan
con ejemplos y aprenden de grandes bases de datos. Las RNA se utilizan en el
Reconocimiento de Patrones y en el problema de Caracteres Manuscritos con alto
rendimiento
18
Los métodos de extracción de características usan un conjunto de características
que discriminan entre patrones de distintas clases, con impacto en el resultado final de
la clasificación.
Los métodos de extraccion de características del reconocimiento de caracteres
manuscritos consideran características estadísticas o estructurales. Las primeras
utilizan la distribución estadıstica de los puntos de la imagen, como momentos e
histogramas. Las características estructurales se basan en propiedades geométricas y
topológicas del carácter, como trazos y sus direcciones, intersecciones de segmentos y
ciclos
La extracción de características tradicional tiene una etapa de preprocesamiento
previa a la clasificación en donde se definen las características relevantes apropiadas
para el clasificador y, los sistemas basados en aprendizaje de imágenes, realizan el
análisis de la imágen junto con la extracción de características, para luego clasificar
todo en un mismo módulo. Para que los patrones sean clasificados correctamente en
el problema de reconocimiento de caracteres manuscritos, se usa la red neuronal
Convolucional LeNet5 desarrollada por LeCun.
Las Redes Neuronales Artificiales tienen resultados aceptables en
reconocimiento de caracteres manuscritos. Se utilizan métodos clásicos de
reconocimiento, como las redes feedforward multicapa entrenadas con
Backpropagation (MLP). Le Cun expone métodos aplicados al problema de ICR para
reconocimiento de caracteres manuscritos y realiza el análisis en reconocimiento de
documentos (Seijas, 2011)
Análisis de
Diseño
Reconocimiento
de líneas de Texto
Modelado
estadístico de
lenguaje
Texto
Fig 7: Proceso simple de reconocimiento de caracteres
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
19
La arquitectura del sistema es de avance (sin retroceso) con tres componentes
principales: análisis de diseño (físico), reconocimiento de líneas de texto y modelado
de lenguaje estadístico;
a) El análisis de diseño físico identifica columnas de texto, bloques de texto,
líneas de texto y orden de lectura.
b) El reconocimiento de línea de texto y contenido dentro de cada línea, las
líneas pueden ser vertical o de derecha a izquierda.
c) El modelado estadístico del lenguaje integra alternativas de reconocimiento
con conocimientos previos sobre lenguaje, vocabulario, gramática y dominio
del documento (Breuel, n.d.).
2.2 RESTAURACIÓN DIGITAL POR ELIMINACIÓN DE RUIDO Y
BINARIZACIÓN DE IMÁGENES DE MANUSCRITOS HISTÓRICOS
La restauración digital, la preservación y el almacenamiento en bases de datos
de imágenes manuscritas utiliza técnicas y métodos y, procesamiento de imágenes de
texto en documentos.
Las técnicas utilizadas para mejora de imágenes y restauración son, eliminación de
ruido y binarización. La eliminación de ruido en la imagen y binarización se refiere a
la conversión de una imagen en escala de grises a binaria. Binarización por umbral
convierte la imagen del documento en escala de grises a binaria, cambiando píxeles
de primer plano (caracteres de texto) a negro y píxeles de fondo a blanco. La Imagen
binaria resultante en blanco y negro, almacenable con características básicas de la
imagen original.
2.3 ADQUISICIÓN DE IMÁGENES DE DOCUMENTOS
La adquisición de imágenes sin procesar (nitidez, resolución y curvas de función
de transferencia) se realiza mediante cámara, video o escáner.
Las imágenes sin formato tienen información de color de 12 bits por píxel. El
software de edición de imágenes utiliza 8 bits o 16 bits. Los datos de 12 bits por píxel
de un archivo RAW son más precisos que los de 8 bits formato de un .jpg.
El estiramiento mejora el contraste. Altos picos al final del histograma, sugieren
colores de alta intensidad. Las estadísticas de imagen generan el histograma, valores
medios de color, desviación estándar, mediana, con base en histograma se realiza
20
segmentación de imágenes previa ecualización de histogramas para cada canal de color
en RGB, HSL, YCbCr espacio de color Vertical. Las estadísticas de intensidad
horizontal proporcionan información sobre la vertical.
El proceso consiste en:
Primer paso: adquisición de imágenes
Segundo paso: de preprocesamiento de la imagen para mejorar la imagen y
convertirla en más utilizable.
Tercer Paso: Paso de segmentación donde se separan los caracteres de palabra.
Cuarto paso: Extracción de características, que es la extracción de la textura y
característica de caracteres escritos a mano:
2.4 PREPROCESAMIENTO
Las actividades de preprocesamiento de imágenes son, la Binarización con
diferentes tipos de umbrales, detección y eliminación de inclinación, detección de
inclinación, suavizado, limpieza, segmentación previa, reconocimiento de caracteres,
separación de caracteres, normalización de caracteres, adelgazamiento, formación de
cuadrícula, determinación del punto singular.
Los métodos como HMM requieren preprocesamiento de datos de entrada para
filtrar los ruidos, como daños de documentos escaneados o estilo de escritura cursiva
a) Análisis de primer plano/fondo
Ingreso de Imagen
Pre-proceso
Segmentación
Extracción de
características
Clasificación/
Reconocimiento
Post procesamiento
Texto de Salida
Fig 8: Proceso de reconocimiento detalle parcial
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
21
Fig 9: Imagenes con y sin color de fondo
b) Enderezar
La corrección del ángulo de inclinación detectado, se realiza con el método para
detectar bordes de Sobel
c) Binarizacion
En el Binarizado se encuentra un umbral adecuado para minimizar la pérdida de
información
El umbral, es una técnica de mejora de contraste binario, proporciona la
definición de límites de los objetos que aparecen en un fondo de contraste. El rango de
umbral se especifica mediante un valor bajo y un valor alto, se realiza con el método
Otsu, el umbral global:
g(x,y) =󰇛󰇜

T es el umbral de la imagen f(x,y) y g(x,y) resultado de la umbralización.
d) Umbralización Local
Método de Niblack
T(x,y)=m(x,y)+k*s(x,y) k=-0.2
donde m(x,y) y s(x,y) son el promedio de un área local y la desviación estándar.
El tamaño de la ventana de 15 por 15 suprime el ruido de la imagen, pero
conserva los detalles locales.
El método de Sauvola es un método de umbral adaptativo, con k=0,1 y R=128.
T(x,y) = 󰇛󰇜󰇟 󰇡 󰇛󰇜
󰇢󰇠
22
Método de Bernsen donde Zmax y Zmin son de máxima/mínima intensidad y
trabaja en contraste alto C(x,y) dependiente de k y del tamaño de la ventana n. El
umbral produce supuestos:
T(x,y) = 
C(x,y) = Zmax - Zmin
e) Eliminación de ruido
El filtrado para eliminación de ruido está en el dominio espacial o de frecuencia.
Los filtros también se subdividen en filtros lineales y no lineales. Son tres filtros en el
dominio espacial (media, mediana y Wiener) con varios tamaños de ventanas y dos
filtros en el dominio de la frecuencia (Butterworth y Gaussian).
El ruido se puede considerar como una función f(x, y), sumada o mezclada con una
imagen i(x, y) en la que se puede ver el resultado como una función g(x, y); esto es:
g(x, y) = f(x, y) + i(x, y)
La hipótesis es que en cada par coordenado (x,y) el ruido es una función sin
correlación y tiene un valor medio de cero.
f) Procesamiento en el dominio del tiempo
Filtro medio: la intensidad de cada píxel de la imagen se sustituye por el valor
medio de intensidad de sus píxeles vecinos:
I(I,j) =
󰇛󰇜
󰇛󰇜
Donde M es el número de píxeles en el vecindario N
Filtro mediana: Este es un filtro no lineal:
Si A{a1,a2,…,an}
Y a1 ≤ a2 ≤ … an ϵ R
Mediana (A) = 

󰇩
󰇪
La mediana es un filtro de error más bajo y elimina los picos de ruido de
impulso.
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
23
g) Procesamiento en el dominio de la frecuencia
La frecuencia espacial de la imagen se mide horizontalmente, verticalmente o en
cualquier diagonal. DCT/IDCT es mejor para representar de forma compacta imágenes
muy pequeñas.
Filtro de paso bajo Butterworth:
H(u,v) =
󰇟󰇛󰇜
󰇠
Donde D0 es una cantidad específica no negativa, y D(u,v) es la
distancia del punto (u,v) al centro del rectángulo de frecuencia.
Filtro de paso bajo gaussiano (núcleo curvo de campana):
H(u,v) = 󰇛󰇜
donde D(u,v) es la distancia desde el origen de la transformada de
Fourier.
Resultados de métodos
El filtrado mejora la calidad de la imagen y la prepara para la
binarización
El filtrado de dominio espacial utiliza filtros de media, mediana y de
Wiener
2.4.1 Pre-segmentación
El estado natural de texto en documentación histórica tiene caracteres
incompletos debido a deterioro físico o borroso por antiguedad.
Estos problemas están asociados con inicialización y mala convergencia hacia
límites cóncavos de caracteres. son limitantes, se desarrolla una nueva fuerza externa
para contornos activos, que resuelve en gran medida ambos problemas. Esta fuerza
externa, se llama flujo vectorial gradiente (GVF), se calcula como una difusión del
gradiente con vectores de un mapa de borde binario o de nivel de grises derivado de la
imagen. El campo resultante tiene un gran rango de captura y fuerza los contornos
activos hacia regiones cóncavas.
Las fuerzas externas generadas a partir de la fórmula variacional deben ingresar
a la ecuación de equilibrio de fuerzas como un campo irrotacional estático, para
24
agregar flexibilidad adicional al modelo de serpiente, es posible partir del equilibrio
de fuerzas, ecuación directamente, y para reemplazar 
con otra fuerza 
la que no necesita ser irrotacional, como sigue:
Fint + 
= 0
El modelo de globo es un ejemplo importante de esta aproximación [1]. La
convergencia hacia regiones cóncavas es un problema en las serpientes tradicionales,
porque el contorno a menudo queda dividido en concavidades límite.
Se muestra un ejemplo de este problema en la Fig. 10, se muestra un dibujo lineal
(64 64 píxeles) de un objeto en forma de U que tiene una región cóncava (visto desde
el exterior) en la parte superior de la figura, y la Fig. 10c muestra una secuencia de
curvas que representan la progresión iterativa de una serpiente tradicional (α = 0:6, β
= 0.0, sin fuerzas de presión) hacia el límite. La solución final resuelve la ecuación de
Euler de la formulación de la serpiente, pero permanece dividida la región cóncava
a) Campo de flujo de vector degradado
El enfoque general es definir un sistema no irrotacional campo de fuerza
externo, que se llama campo de flujo vectorial gradiente (GVF).
Mapa de borde
Se define un mapa de bordes f (x; y) derivado de la imagen I (x; y) tiene la
propiedad de ser más grande cerca los bordes de la imagen2, se utiliza:
F(x,y) = -
(x,y)
donde i = 1, 2, 3 o 4. El campo f tiene vectores que apuntan hacia los
bordes, pero tiene un rango de captura estrecho.
Fig 10: Una serpiente con potencial tradicional
las fuerzas no pueden moverse hacia el interior del
arco cóncavo
(a)
(a)
(b)
(c)
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
25
Se define el campo de flujo vectorial de gradiente (GVF) como el campo
vectorial v(x, y) = (u(x, y), v(x, y)) que minimiza la energía functional:
ε = 
Esta formulación variacional sigue un principio estándar, el de hacer que el
resultado sea fluido cuando no hay datos. En particular, vemos que cuando  es
pequeña, la energía es dominada por derivadas parciales del campo vectorial, lo que
produce un campo suave. Por otro lado, cuando  es grande, el segundo término
domina el integrando y se minimizacon v = . El parámetro es un parámetro de
regularización, que rige el equilibrio entre el primer y segundo rmino.. Este
parámetro debe configurarse de acuerdo a la cantidad de ruido presente en la imagen
(más ruido,aumenta ).
Utilizando el cálculo de variaciones, se puede demostrar que el GVF se puede
encontrar resolviendo las siguientes ecuaciones de Euler:
µ2u (u - fz)(fz2 + fy2 ) = 0
µ2v (v fy)(fz2 + fy2 ) = 0
Donde 2 es el operador laplaciano.
b) Serpiente GVF
Después de calcular v(x, y), reemplazamos la fuerza potencial -
Eext
en la
ecuación dinámica de la serpiente por v(x, y),
Xt󰇛󰇜󰇛s,t) 󰇛󰇜
A la curva paramétrica que resuelve la dinámica anterior se llama ecuación
serpiente GVF. Esta ecuación se resuelve de manera similar a la serpiente tradicional,
es decir, mediante discretización y solución iterative.
c) Campos GVF y serpientes GVF
Los cálculos de GVF externo de campo en objetos simples así como en imagen
de caracter demuestra el rendimiento de GVF serpiente. Los parámetros (para GVF) y
y (para la serpiente) se especifican en cada caso. Todas las funciones del mapa de
bordes utilizadas para calcular GVF están prenormalizadas al rango [0; 1].
Convergencia hacia una región cóncava
26
En el campo GVF para la Fig. 2a se usa µ = 0:2. Comparando el campo
resultante, mostrado en la Fig. 2b, al campo de fuerza potencial de la Fig. 1b, revela
varias diferencias clave. Primero, el GVF el campo tiene un rango de captura mucho
mayor, para llegar a este punto utilizando campos de fuerza potenciales tradicionales,
uno tendría que usar σ un filtro gaussiano grande. Pero esto tendría el efecto de
difuminar (o tal vez incluso borrar) los bordes, lo que no sucede en este caso.
La Fig. 2c muestra el resultado de aplicar una serpiente GVF con parámetros α
= 0.6 y β = 0.0 al dibujo lineal que se muestra en la Fig. 2a (usando el campo GVF
externo de la Fig. 2b) en este caso, la serpiente se inicializó más lejos del objeto que
la inicialización en la Fig. 1c y, sin embargo, converge muy bien hasta el límite de la
forma de U.
2.5 SEGMENTACIÓN DE CARACTERES
Se recorre toda la imagen de izquierda a derecha y de arriba hacia abajo, y cada
vez que se encuentre un punto o pixel en la imagen con nivel de gris 0 (cero), se
considera para ser parte de un objeto, a partir del pixel negro, como centro se busca en
sus vecinos un pixel de color negro, esta búsqueda se hace en sentido de las manecillas
del reloj y comenzando desde la posición 0.
Escalamiento:
Este proceso consiste en transformar la serie de objetos (caracteres) a un tamaño
estándar, podría ser 10x10 para cada uno de los objetos. Despues de contabilizar los
pixeles en la imagen y se tiene determinada la cantidad de pixeles negros y blancos,
aplicar:
(a)
(b)
(c)
Fig 11: Una serpiente con fuerzas externas GVF.
se mueve hacia la región límite cóncava
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
27
No. pixels en x = 󰇛󰇜󰇛󰇜

Donde:
No. de pixeles en x, es la cantidad de pixeles a pintar en el eje x en la nueva
imagen.
No. de pixeles en X, es la cantidad de pixeles en la imagen original en el eje x.
Total de pixeles en x, es la cantidad total de pixeles en el eje x en la nueva
imagen.
Número total de pixeles en eje X, en la imagen original
2.6 EXTRACCION DE CARACTERISTICAS
La extraccion de características define la forma en la cual va a representarse cada
patron y reduce la dimensionalidad del descriptor o representante, para obtener un
buen rendimiento en la clasificacion
El conjunto de características debe cumplir las condiciones:
a) Asociar una varianza intraclase pequeña, con la que diferentes muestras de
una misma clase estarán cercanas en distancia;
b) Generar una separacion entre clases (interclase) grande, para que las
muestras de clases diferentes esten alejadas en el espacio de características,
para evitar errores de clasificacion. Se pueden utilizar:
Extractores de características direccionales: Mascaras de Kirsch
28
Análisis de Componentes Principales, metodo estadístico para el
análisis de datos, en Teoría de Comunicaciones es la Transformada
Karhunen-Loeve
La extracción de características simples basadas en intensidad y gradiente, se
realiza con funciones basadas en un operador de Sobel, en ambos casos la altura de la
las imágenes se reducen a 16 píxeles para la extracción de características.
La extracción es base para la búsqueda de un buen descriptor que permita
optimizar los resultados en la clasificacion.
2.6.1 Intensidad
Las características de intensidad usan los valores de píxeles originales de los
cortes verticales de ancho y se extienden por la diferencia del segmento actual con
respecto al segmento anterior. Para el extracción de características todas las imágenes
se reducen a una altura de 16 píxeles. Una imagen I(i, j) está representado por T
vectores de características con altura H de la siguiente manera:
T × H →
󰇛󰇜
󰇛󰇜
La función intensidad-movimiento está representada por:
󰆒

2.6.2 Funciones basadas en degradado
Estas características utilizan filtros Sobel. Estos filtros detectan bordes
horizontales y verticales, además de los valores de la horizontal y la vertical:
󰇛󰇜
󰇛󰇜
2.6.3 Reducción PCA
El número de dimensiones de características aumenta con un mayor tamaño de
la ventana deslizante, las dimensiones se reducen, utilizando el Análisis de
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
29
Componentes Principales (PCA). Resultado aceptable en varios experimentos se logra
mediante una reducción de la dimensión PCA a 30 componentes.
2.7 ENTRENAMIENTO
Se entrena el sistema para el reconocimiento del texto con la base de datos. Las
tendencias se mejoran, con estimación de la probabilidad 󰇛󰇜 por observar la
secuencia de características dada una palabra w la suma de todas las posibles
secuencias de estado tiene que ser calculado como se describe en:
p(󰇜 󰇛󰇜
Con:
󰇛󰇜󰇛󰇜

2.7.1 Modelado de caracter
El HMM utilizado asigna tres estados a cada carácter de una palabra, como
posibles movimientos de un estado para que el sistema recorra estos estados. Para
influenciar las posibilidades de transiciones, se utilizan penalizaciones de distorsión
de tiempo (TDPs)
2.7.2 Léxico
La base es el alfabeto latino con sus 26 caracteres que se pueden escribir en
mayúsculas y minúsculas. El léxico estándar contiene todos los caracteres que pueden
aparecer en un idioma los n caracteres del léxico se representan con una longitud media
de cinco píxeles por estado de carácter.
2.7.3 Criterio de entrenamiento
Para entrenar el sistema se utilizan dos enfoques: primero, un entrenamiento
de máxima verosimilitud (ML). Segundo, se utiliza enfoque discriminativo usando el
criterio de máximo modificado de formación de información mutua (M-MMI).
2.8 RECONOCIMIENTO
Se realiza en un solo paso utilizando los modelos entrenados. descrito en el
apartado anterior.
30
Durante el reconocimiento se utilizan léxicos cerrados. El léxico contiene sólo
las entradas de las palabras que aparecen en el conjunto sobre el que se realiza el
reconocimiento(Röder, 2009).
2.9 CLASIFICACION
Los clasificadores pueden dividirse en dos grandes grupos: clasificadores
supervisados y clasificadores no supervisados.
Los clasificadores supervisados son: estadísticos, los bayesianos; clasificadores
basados en funciones discriminares lineales, el algoritmo de perceptrón; clasificadores
basado en distancias, el de vecinos más cercanos; o clasificadores sintáctico-
estadísticos, como los modelos ocultos de Markov.
En los clasificadores supervisados se realiza un entrenamiento con ejemplos, se
clasifica elementos en clases disponibles.
Los clasificadores no supervisados consisten en agrupar los elementos por sus
características similares, como por ejemplo el algoritmo de C-medias. Estos
clasificadores no requieren de un entrenamiento, pues no se conoce a priori las clases
disponibles.
Para mejora del rendimiento de reconocimiento de patrones, se utiliza estrategia
combinada.
Sea P el espacio de datos de entrada consistente en M conjuntos mútuamente
excluyentes, P = C1 . . .CM, con cada Ci , i Λ = {1, 2, . . . , M} representando un
conjunto de patrones específicos denominado clase (por ejemplo, M = 10 para el
problema de reconocimiento de caracteres). Para una muestra x extraída de P, la tarea
del clasificador consiste en asignar un índice j Λ {M + 1} como rótulo que
representa x que pertenece a la clase Cj si j ≠ M + 1, y en caso que j = M + 1 significa
que x es un patrón rechazado por e. De esta forma, consideramos al clasificador como
una función que recibe una entrada x y proporciona una salida j tal que e(x) = j.
Por las salidas que producen los clasificadores individuales, se definen tres tipos
de problemas para los cuales se aplican distintas técnicas de combinación:
Tipo 1: Nivel abstracto o salida compuesta por una única clase. Dados K clasificadores
individuales ek, k = 1, . . . , K, cada uno de los cuales asigna un rótulo jk a una entrada
dada x, es decir, produce un evento ek(x) = jk, se utilizan dichos eventos para construir
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
31
un clasificador integrado E que asigna a la entrada x un rótulo definitivo j tal que E(x)
= j, j Λ M + 1.
Tipo 2: Nivel de rangos o listas categorizadas. Dada una entrada x, cada ek produce un
subconjunto Lk Λ tal que todos los rótulos en Lk forman una lista ordenda por rango.
El problema consiste en utilizar los eventos e(x) = Lk, K = 1, . . . , K para construir un
clasificador E tal que E(x) = j, j Λ {M + 1}.
Tipo 3: Nivel de mediciones. Dada una entrada x, cada ek produce un vector de
números reales Me(k) = mk(1), . . . , mk(M)T , donde mk(i) representa en que medida
ek considera que x pertenece a la clase i. El problema consiste en utilizar los eventos
e(x) = Me(k), k = 1, . . . , K, para construir un clasificador E tal que E(x) = j, j Λ
{M + 1}
Los tres tipos de problemas descriptos en su conjunto cubren un amplio
espectro de aplicaciones.
El Tipo 1, considera clasificadores individuales basados en diferentes teorías y
metodologías (uno sería un clasificador estadístico y otro un metodo sintáctico), el
resultado está en el nivel abstracto. Así, el Tipo 1 cubre las areas del Reconocimiento
de Patrones, siendo la categoría mas útil por su generalidad
Los métodos del Tipo 1 se usan por su simplicidad, robustez y a alta precisión
en los resultados. Por su aplicación en ICR se consideran(Seijas, 2011):
Voto por Mayoría y sus variantes
Voto por Mayoría Ponderado,
Formulación Bayesiana,
Teoría de DempsterShafer,
Y otros
2.10 DISEÑO BASE
Hay dos categorías principales de localización de texto en una imagen y
extracción del mismo:
32
Localización y extracción de texto de documentos impresos: existen métodos
que alcanzan una precisión superior al 99%, una de las formas de extraer el texto de
un documento es por binarización de la imagen escaneada.
La localización y extracción de texto tiene dos categorías principales de
métodos: ventanas deslizantes y agrupación de regiones.
Para la extracción de texto se utiliza la binarización de la imagen.
2.11 OPERACIONES BÁSICAS DE RECONOCIMIENTO
El proceso de reconocimiento tiene operaciones básicas como binarización, corrección
de sesgo y segmentación:
2.11.1 BINARIZACION
Primero, la imagen de 32 bits se reduce a una profundidad de 24 bits se
transforma en una Imagen en escala de grises de 8 bits con preservación de la
luminancia que se calcula con suma de intensidad de los canales rojo, verde y azul de
la imagen original:
Gris = 0,2126 × Rojo + 0,7152 × Verde + 0,0722 × Azul
Conversión a
escala de grises
Binarización
Detección de
color de fondo
Corrección de
sesgo
Segmentación
de caracter
Normalización
de forma
Extracción de
características
Clasificación de
caracter
Fig 12: Proceso de reconocimiento de caracteres
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
33
Los valores de intensidad de escala de grises resultantes de píxeles individuales
oscilan entre 0 y 255. El método de umbralización de Otsu (Silva Gabriel & Dueire
Rafael, 2010) para encontrar un valor de umbral óptimo para separar el primer plano
del fondo. La suma de las varianzas entre clases se define como
= ω0ω1󰇛󰇜
donde ω0 y ω1 son los porcentajes de píxeles de primer plano y de fondo dados
por:
w0 =

w1 =

donde L es el número total de niveles de gris, k es un umbral entre las dos clases
y pi es el porcentaje de píxeles en el nivel de gris i, lo que significa que:


Los valores µ0 y µ1 son los niveles medios de clase dados por:
µ0 = 

µ1 = 

El valor umbral óptimo que maximiza se encuentra realizando una búsqueda
secuencial sobre los niveles del histograma
2.11.2 CORRECCION DE SESGO
La desviación de la línea de base del texto desde el eje horizontal, es sesgo, el
que se corrige rotando el texto. La segmentación y el proceso de reconocimiento de
caracteres falla, si el texto es significativamente sesgado. Para corregir, se detecta el
ángulo de inclinación del texto y se rota el texto para que esté alineado con el eje
horizontal. El método de transformación de radon propuesto por Aithal, se aplica para
detectar el ángulo de inclinación (Zdeněk, 2014).
34
Fig 13: Proceso de corrección de sesgo
La función de transformada Radon calcula proyecciones de una matriz de
imagen a lo largo de direcciones específicas. El algoritmo se explica con una fuente
de haces paralelos que se emiten hacia la matriz de la imagen y su proyección es
registrada por una línea de sensor detrás de la matriz de imagen, que es perpendicular
a los haces. el código de Matlab:
Input: R
maximum ←− 0;
skewAngle ←− 0;
for i ←− 1 to 180 do
for j ←− 1 to diagimg do
if R[i][j] > maximum then
maximum ←− R[i][j];
skewAngle ←− i;
end
end
end
skewAngle ←− -(skewAngle - 90);
2.11.3 SEGMENTACION
Divide la imagen de entrada en regiones candidatas, luego se extrae
características para cada región candidata, finalmente, cada región se clasifica
utilizando regresión logística del texto, se obtiene imagen en escala de grises.
2.12 TESSERACT
El reconocedor de nea de texto Tesseract sistema OCR de Hewlett and Packard
(HP) de código Abierto, utiliza una comparación de dos etapas entre el carácter
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
35
prototipo con formas y caracteres de entrada, integra la segmentación de la imagen de
entrada con caracteres reconocidos, utilizando backtrack.
Las tasas de error de reconocimiento de caracteres de Tesseract es menor
comparado con otros sistemas, cada vez mejor, reconoce variantes de escritura latina.
Tesseract devuelve "puntuaciones de coincidencia" calcula un gráfico de
segmentación completo como entrada. Ambos factores limitan la capacidad de usar
Tesseract con los modelos estadísticos de lenguaje natural.
2.13 PROCESO INTERMEDIO
Las representaciones intermedias son imágenes, colecciones de imágenes, el
resultado final del sistema está en formato HTML4 y CSS3 estándar con etiquetas DIV
y SPAN es codificación de información específica de ICR
36
2.14 ALFABETO LATINO CON 26 CARACTERES EN MAYÚSCULAS Y
MINÚSCULAS PARA RECONOCIMIENTO DE PATRONES
La arquitectura de Sistema propuesto está constituido por cuatro módulos;
adquisición de imagen, tratamiento de imagen, reconocimiento e interpretación de
imagen. El bloque de adquisición de imagen considera un escáner, o una cámara
digital, que funcionan como una interfaz con la que la imagen es adquirida para el
posterior análisis efectuado por el sistema de cómputo. El bloque de tratamiento de la
imagen consiste de seis procesos por los que pasa la imagen: umbralización,
eliminación de información no necesaria (ruido), detección del área del caracter,
segmentación del caracter, conversión de la imagen a ceros y unos, y por último la
compresión de la imagen a una matriz propuesta de 10x10 pixeles, que será la entrada
a un conjunto de redes neuronales artificiales.
El bloque del reconocimiento de los caracteres, resuelve con redes neuronales
artificiales, con un perceptrón multicapa entrenado por el algoritmo de
retropropagación.
Un tipo de enfoque discriminativo en HWR es el uso de redes neuronales, otro enfoque
discriminatorio es el Máximo Modificado de Información Mutua (MMMI)
Suavizado
Limpieza
Mejora
Pre-segmentacn
Etapa de post-proceso
Forma Entrada
Escáner
Conversión
imagen color/gris
a imagen binaria
Detección y
corrección de
sesgo
Reconocimiento
de caracter
Análisis de
vecino cercano
Resultado final
de caracteres
Etapa de Pre-proceso
Fig 14: Proceso de Reconocimiento por etapas
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
37
Un pixel con nivel de gris inferior a 14, como valor de umbral está etiquetado como
impresión (negro), de lo contrario fondo (blanco).
Fig 15: Segmentación
Después del proceso de pre-segmentación, se tiene claro los caracteres a reconocer.
Los dos modulos principales: un módulo encargado de la extracción de características
y el otro dedicado a la clasificacion:
Fig 16: Limpieza
El reconocimiento de caracteres considera los pasos:
Separación de caracteres
Normalización.
Adelgazamiento.
Determinación de puntos singulares.
Formación de grillas.
Detección de línea.
Reconocimiento de caracteres.
Pre-procesamiento
Medición de
características
Clasificación
Pre-procesamiento
Extracción y
selección
características
Aprendizaje
Patrones de
testeo
Patrones de
Entrenamiento
Fig 17: Modelo de proceso de reconocimiento y aprendizaje
38
Los complementos en el reconocimiento de caracteres manuscritos antiguos,
es el tratamiento de patrones deteriorados y expresiones semánticas válidas, se analisa
errores cometidos por múltiples clasificadores para el problema del reconocimiento de
dígitos manuscritos. Se identifican tres categorías posibles de causas de error en la
clasificacion de los datos:
Categoría 1: son imagenes de caracteres que se confunden facilmente con patrones de
otras clases debido a la similitud de sus características primitivas y estructura. Hay
pares de caracteres que son más fáciles de confundir que otros, como los patrones de
las clases 4 y 9, 0 y 6, 3 y 5, 0 y O, y otros.
Categoría 2: son imágenes de caracteres que son difíciles de identificar debido a ruido
en la imagen, deformaciones o mala segmentacion del carácter, entre otras causas. Por
ejemplo, la distorsión y degradación de la imagen podría tener origen en el grosor por
el instrumento de escritura utilizado, al tamano elegido para normalizar las imágenes,
el tipo de escritura no convencional de algunas personas.
Categoría 3: son imágenes de caracteres que son fácilmente clasificables sin ninguna
ambiguedad, son claras y deben ser bien clasificadas
El algoritmo del sistema de clasificación con aprendizaje optimiza el costo:
Biología
Ciencias de la
Computación
Biología
Evolutiva
Inteligencia
Artificial
Aprendizaje de
máquina
Computación
Evolutiva
Algoritmo
Evolutivo
Algoritmo
Genético
Aprendizaje
reforzado
Aprendizaje
supervisado
Sistema
clasificador de
aprendizaje
Fig 18:Sistema de reconocimiento con aprendizaje
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
39
Un LCS tiene cuatro componentes:
Población finita de clasificadores que representa el conocimiento actual del
sistema.
Componente de Desempeño, que regula la interacción entre el entorno.
Componente Reforzado llamado de cesión de créditos, que distribuye
recompensa del entorno al clasificador.
Componente de descubrimiento, utiliza diferentes operadores para descubrir
normas y mejorar las existentes.
2.15 CONFORMACION DE DATOS
Tensor es una entidad algebraica de un conjunto de componentes, que generaliza
conceptos de escalar, vector o matriz como tensores de distinto orden. El orden de un
tensor será el número de índices necesario para especificar sin ambigüedad cada uno
de sus componentes:
Entidad Matemática
Ejemplo
Tensor de orden 0, escalar
288
Tensor de orden 1, vector
[2.58 25.89 58.87]
Tensor de orden 2, matriz
  
  
  
Tensor de orden 3, cubo de elementos
Tensor de orden N
Tabla 1: Tipos de tensor
40
Un tensor de orden es una matriz multidimensional de dimensiones  × 1
× × −1 compuesta de elementos que son referidos como 0,1,…,1 , desde 0,1,…,n
hasta 0−1,1−1,…,t1
2.16 REDES NEURONALES
Modelo matemático tiene elementos simples, nodos o neuronas, interconectados
para procesar y transmitir señales de una forma dirigida. Las arquitecturas para DL,
las ANNs están formadas por varias capas de neuronas que están en paralelo y
propagan la señal desde una capa de entrada a una capa de salida atravesando varias
capas ocultas, con una dirección posible de transmisión de la información (se llaman
Redes Feedforward)
Fig 19: Redes de avance feedforward
La neurona tiene pesos asociados a cada entrada, un umbral propio de cada
neurona, y una función de activación que genera una salida a partir de un agregado de
las entradas recibidas.
W0
W1

Ʃ
ƒ
Axón
X0
X1

Sinapsis
Dendritas
Cuerpo
Cuello
del axón
Entradas
Pesos
b
Sumatorio y umbral
Función de
activación
Axón
Salida
Fig 20: Neuronas artificiales
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
41
Formalmente se expresa la llamada función de transferencia como:
1
= (, , ) = ( ∑ , +
=0
Donde es el conjunto de entradas [0, 1, … , 1 ] , los valores W, son los
pesos asociados a cada entrada X de la neurona que forman el conjunto  , y  es
el llamado umbral o bias, que actúa sobre la neurona y es independiente de las entradas
(y del resto de neuronas, si las hubiera). Entonces, una función de activación
representada con , que se considera derivable y no lineal para adaptarse a un número
mayor de problemas.
El resultado de este tipo de topologías, donde la salida de la capa es la entrada
de la capa + 1 tal y, se puede expresar como:
= ( , , )
= (1 , , )
1 = (2 ,1 ,1 )
0 = (, 0 , 0 )
Donde , y representan, respectivamente, la salida del sistema, los pesos,
y los bias asociados a la capa de salida, mientras que , , representan,
respectivamente, la salida, los pesos, y los bias de la capa , siendo el número total
de capas ocultas


Bias
bk
Wk1
WK2
Ʃ
X1
X2
Φ(.)
Wkm
Xm
Salida
Yk
b
Union de Suma
Pesos
sinápticos
Entradas
Función de
activación
Vk
Fig 21: Gráfica de Red Neuronal
42
yk = φ(uk + bk)
Donde x1, x2, …, xm son las señales de entrada; wk1, wk2, …, wkm son los pesos
sinápticos de la neurona k; u es la combinación lineal o suma de las entradas
multiplicadas por los pesos sinápticos; bk es el valor límite, o bias, de la neurona k, es
la función de activación, y yk es la señal de salida de la neurona
Las neuronas Sigmoide, son similares a las Perceptrón su propósito es obtener
un cambio en la salida, si se aplican cambios pequeños en los pesos y en el bias.
La neurona sigmoide tiene entradas x1, x2, …, xm, pero en vez de tener valores
de 0 ó 1, puede tomar valores reales entre 0 y 1. Igual que el perceptrón, la neurona
sigmoide tiene pesos definidos para las entradas w1, w2, …, wm y un valor límite b (o
bias); pero la salida no es solamente 0 ó 1, y el resultado de una función sigmoide que
tiene la siguiente función de activación:
󰇛󰇜

De manera explicita:
󰇛󰇜
󰇛󰌣󰇜
Se genera una función suavizada:
Fig 22: Función de activación de neurona sigmoide
La función de activación Sigmoide es la más utilizada, existen otras que
presentan una función continua y suavizada, definida y derivable en el intervalo de sus
entradas y se utilizan en redes neuronales, con otros modelos matemáticos: tangente
hiperbólica, Gudermann y otros.
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
43
2.16.1 PROCESO DE APRENDIZAJE
Para cuantificar el logro de meta, se define la función de costo:
󰇛󰇜
󰇛󰇜
Donde w denota la colección de pesos en la toda la red, b todos los bias, n es el
número total de valores de entrada de entrenamiento, a es el vector de salida de la red
cuando x es la entrada, y la suma es realizada sobre todas las entradas de entrenamiento
x. El objetivo del algoritmo de entrenamiento es minimizar el costo C(w,b) como una
función de pesos y bias. Se debe encontrar un conjunto de pesos y bias que haga que
el costo sea el menor posible.
Para esto se utiliza el algoritmo descenso de gradiente. La función de costo se
ejecuta con “back propagation”
Retropropagación
Es un algoritmo de aprendizaje de redes neuronales, y provee información del
efecto de los cambios en los pesos en el comportamiento de la red
El algoritmo de optimización y aprendizaje, back-propagation (o retro
propagación), se construye con los valores de error obtenidos al realizar el cálculo para
entrada a la red neuronal, con el valor real esperado ej(n) = dj(n) yj(n).
Con el error de neuronas de salida, se obtiene el valor del gradiente local para
cada neurona mediante la ecuación δj(n)=ej(n)φj(vj(n)), y a partir de este se definen
ajustes necesarios a pesos Δwji(n) = ηδj(n).yi(n)
El valor de error en cada neurona, y los gradientes son propagados hacia atrás
desde la capa de salida hacia las capas ocultas; se realiza el cálculo desde los valores
obtenidos de las neuronas posteriores
Para los valores a ajustar en pesos de cada capa, y en el procesamiento y
entrenamiento general de una red neuronal, están las ecuaciones:
uk(n) = 󰌣
󰇛󰇜󰇛󰇜 Umbral de activación de la neurona
vk(n) = uk(n) + bk(n) Campo local inducido
yk(n) = φ(uk(n) + bk(n)) Señal de salida de la neurona
44
φ(z) =
 Función de activación Sigmoide
yk(vk(n)) =
󰇛󰇜 Señal de salida de la neurona Sigmoide
ej(n) = dj(n) yj(n) Señal de error de la neurona de salida
ej(n) = 󰌣󰇛󰇜󰇛󰇜 Señal de error de la neurona oculta
δj(n) =ej(n)φj(vj(n)) Gradiente local para neuronas de salida
δj(n) = 󰇛󰇛󰇜󰇜󰌣󰇛󰇜󰇛󰇜 Gradiente local para neuronas ocultas
Δwji(n) = η.δj(n).yi(n) Ajuste al peso entre neuronas i y j
Δbj(n) = η.δj(n) Ajuste al bias de la neurona j
η Constante “Taza de aprendizaje”
wkj(n + 1) = wkj(n + 1) + Δwji(n) Nuevo peso entre neuronas k y j
φj(vj(n)) = yj(n) [1 yj(n)] Derivada de función Sigmoide
Las etapas del entrenamiento para una Red Neuronal son:
1. Resultado de la red para cada neurona desde inicio hasta fin
Calcular. yk(n) = φ(uk(n) + bk(n))
2. Función de costo para determinar el límite del entrenamiento
C(w,b)
 󰇛󰇜
3. Para cada neurona desde la capa de salida hacia atrás
Calcular el error: ej(n) = dj(n) yj(n) para cada neurona
Calcular el gradiente local: δj(n) = ej(n) φj(vj(n))
4. Para cada neurona calcular el cambio en los pesos
Wkj(n+1) = wkj(n+1) + Δwji(n)
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
45
2.16.2 PERCEPTRON MULTICAPA
El nodo o neurona como capa esta conectado con nodos o capas previa y
siguiente. Las capas de neuronas de este tipo de redes son: la capa de unidades de
entrada, una o varias capas ocultas, y la capa de unidades de salida. Durante la etapa
de entrenamiento, los pesos asociados se modifican para que la red neuronal
”aprenda”. El algoritmo de aprendizaje de Retropropagacion hacia atras o
Backpropagation (BP), utiliza la técnica de descenso por gradiente para hallar el
mínimo de la función de costo que mide el error del sistema como función
diferenciable de los pesos
Por cada iteración o tiempo t, se define:
wij sinapsis que conecta a la neurona i de la capa m con la neurona j de la capa
m − 1
υi 
 entrada neta a la neurona i donde J incluye a todas las
neuronas de la capa anterior a la de la neurona i
yi = φi) salida de la neurona i, donde φ es la funcion de activacion. Si yi esta
en la capa de entrada de la red entonces toma los valores del patrón ingresado.
ζi salida esperada en la neurona i (cada patron está rotulado por el algoritmo del
paradigma de Aprendizaje Supervisado)
Oi salida real para la neurona i
E(t) =
󰇛󰇜
 donde ζ incluye a las neuronas de la capa de salida de
la red, es error cuadrático medio en la iteración t
La función de costo queda determinada por:
󰇛󰇜
󰇛󰇜

El perceptrón multicapa red neuronal resuelve problema que no es linealmente
separable, principal limitación del algoritmo de perceptrón. La red Stuttgart Neural
Network Simulator simula la red y se entrena con el algoritmo de backpropagation y
46
un factor de aprendizaje de 0.1. Se utiliza una red con una capa de entrada, una capa
oculta y una capa de salida.
2.17 RED NEURONAL CONVOLUCIONAL
La red CNN se utiliza en el reconocimiento de patrones con información visual de
objetos estáticos y en movimiento, su contexto son elementos de un tensor de entrada
y el valor, la posición y las vecindades de cada uno. Las convoluciones son entre el
tensor de entrada y tensores de la red, son filtros
Tensor, como cleo de convolución, realiza operaciones en fragmentos de un
tensor de entrada. Los tensores comparten el mismo orden y las porciones son
subtensores de las mismas dimensiones que el núcleo de convolución. Entonces, para
la convolución se requiere una entrada, un núcleo de convolución y algún parámetro
que configure los subtensores.
Se tiene a la entrada y núcleo, ambos de orden y dimensiones 0 × 1
× … × 1 y 0 × 1 × × 1 , respectivamente. Y un último parámetro que
determine la selección de los subtensores, se declara un tensor de paso , de orden 1,
dimensión y valores [0, 1, … , 1] enteros y positivos
En una convolución se cumple la relación entre dimensiones de entrada y del
núcleo:
,  [0,1, … , 1]
Se calcula la convolución para obtener:
=
01 11 1
0, 1,…, 1 = ∑ … ∑ 0, 1,…, 1 00+0, 11+1,…, 11+1
0=0 1=0 =0
El tensor resultante de la convolución tiene el mismo orden que y , sus
dimensiones se determinan así:
 =  ( ( )/ + 1 )
Donde (·) es una función que extrae la parte entera y se define como:
() = { ℤ | }
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
47
Fig 23: Dimensiones de tensor resultante de convolución
Fig 24: Abstracción de una capa aislada
2.18 RED NEURONAL RECURRENTE (RNN)
Son redes neuronales con ciclos entre las interconexiones de sus neuronas. Estos
ciclos trabajan normalmente con secuencias temporales, capaces de descubrir
regularidades y patrones.
Fig 25: Topologías recurrentes y representación de una neurona aislada
La salida de la RNN en el instante depende de su comportamiento en etapas
anteriores, tiene resultado una función dinámica en el tiempo:
48
2.19 MODELOS DE MARKOV DE CAPA OCULTA: HMMS
La diferencia entre un HMM y una cadena de Markov, es que cada estado de la
cadena de Markov está asociado en forma determinista a valor de observación de salida
único; en un HMM cada estado se asocia a una probabilidad de distribución de los
posibles valores de observación de salida.
Un HMM es una máquina de estados finitos en que interactúan entre dos
procesos estocásticos bien definidos: uno de ellos permanece inobservable (o nombre
de capa oculta) y actúa en segundo plano por detrás del otro (observable) que produce
efectivamente la secuencia de observaciones de salida (Rabaev et al., n.d.). El proceso
oculto involucra un conjunto de estados conectados entre sí por medio de transiciones
con probabilidades; y el proceso observable consta de un conjunto de observaciones
de salida, cada una éstas puede ser emitida por los estados según función de
probabilidad asociada a cada uno de ellos.
2.19.1 Definición de HMM continuo
Los vectores se emiten solo en los estados destino y no en transiciones. Se
determina un estado inicial único del HMM en el que no se emite ningún vector, de
igual forma que el estado final. Formalmente un HMM (continuo) M es una máquina
de estados finitos definida por la séxtupla (Q, I, F, X, a, b), donde:
Q conjunto finito de estados, que incluye el estado inicial I Q y un estado final
F Q.
X espacio real d-dimensional de observaciones: X Rd.
H(t)
H(0)
H(1)
H(2)
H(3)
Capa
RNN
Capa
RNN
Capa
RNN
Capa
RNN
Capa
RNN
󰇛󰇜

󰇛󰇜

󰇛󰇜

󰇛󰇜

󰇛󰇜

󰇛󰇜
󰇛󰇜
󰇛󰇜
󰇛󰇜
=
Fig 26: Función dinámica en el tiempo
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
49
a : (Q {F}) × (Q {I}) [0, 1] función de distribución de probabilidad de
transición entre estados, tal que:
󰇛󰇜󰇛󰇝󰇞󰇜
󰇛󰇝󰇞󰇜
b : (Q {I, F}) × X [0, 1] función de densidad de probabilidad de emitir un
vector xX en un estado qiQ, tal que:
󰇛󰇜󰇛󰇝󰇞󰇜

En la definición de HMM dada, hay implícitos dos supuestos:
a(qi , qj ) = P(zt+1 =qj |zt =qi) indica que la probabilidad de una cadena de Markov
es un estado qj en t+1 que depende del estado qi de la cadena de Markov en el tiempo
t, y no depende de los estados visitados anteriormente en tiempos menores que t.
Entonces:
P(zt+1|z1 . . . zt) = P(zt+1|zt)
b(qi , x) = p(xt = x|zt = qi) indica que la probabilidad de que x sea emitida en el
tiempo t depende solo del estado qi en el tiempo t, y no depende ni de los vectores
emitidos ni de los estados visitados anteriormente en tiempos menores que t. Entonces:
p(xt |x1 . . . xt , z1 . . . zt) = p(xt |zt)
Estos dos supuestos definen lo que se denomina un HMM de primer orden
2.19.2 Probabilidad de emisión
Sea x = (x1 x2 . . . xT ) con xi Rd una secuencia finita de vectores reales y sea
Z = {z = (z1 z2 . . . zT ) : zk = qi (Q {I, F}), 1 ≤ i ≤ |Q|−2} un conjunto de secuencias
de derivación de estados asociadas con la secuencia de símbolos x. Entonces la
probabilidad que la cadena x sea generada por el modelo M es:
󰇛󰇜󰇛
 󰇜󰇛󰇜󰇛󰇜

donde z0 es igual al estado inicial I: z0 = I
La notación será la siguiente:
ϻ conjunto de todos los parámetros que definen un HMM
50
N número de estados del modelo excluyendo el inicial: N = |Q|−1 donde Q el conjunto
de estados: Q = {q0 =I, q1, . . . , qN−1, qN =F}
M número de componentes de la mixtura de Gaussianas de cada estado
C número de modelos de la secuencia de HMMs concatenados
Nc número de estados del b-ésimo modelo de la secuencia de HMMs concatenados
x una secuencia de vectores reales (observaciones)
T número de vectores de la secuencia
xt un vector de la secuencia x en el tiempo t: xtd 1 ≤ t ≤ T
aij probabilidad de transición del estado qi al estado qj : aij ≡a(qi , qj )
bi(x) probabilidad de emisión del vector x en el estado qi : bi(x) ≡ b(qi , x)
cjm coeficiente de peso de la componente de mixtura m del estado qj
µjm vector de medias para la componente de mixtura m del estado qj
Σjm matriz de covarianza para la componente de mixtura m del estado qj
El modo de probabilidades de emisión de vectores xtd en cada estado del
HMM, se utiliza una mixtura de densidades de Gauss. En este caso la función bj (xt)
es definida como:
󰇛󰇜󰇛
 󰇜
Donde:
󰇛󰇜
󰇛󰇜󰌣󰇛󰇜󰌣
󰇛󰇜
Se cumple que: 󰌣

2.20 INTEGRACION DE RECURSOS
Los recursos es un proceso secuencial para obetner el resultado de reconocimiento
de caracteres:
Ximagen
5x
AEC
ARB
ARD
CTC
Ysec
Ysec
-In(p(Ysec|Ximagen))
LER
R
Fig 27: Proceso secuencia de reconocimiento y componentes
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
51
2.21 PROCESO DE RECONOCIMIENTO DE CARACTERES
Los cuatro módulos del reconocimiento:
Preproceso para reducir ruido y normalizar atributos de estilo.
Extracción de características: las imágenes de caracteres manuscritos se
convierten en secuencias de vectores de características.
Entrenamiento de modelos formales: se determinan valores de parámetros
con aprendizaje supervisado
Reconocimiento: las secuencias de vectores de características se comparan
las clases de carácter correspondientes
Imágenes de
caracteres
Preproceso y
Normalización
Imágenes
caracteres
Normalizados
Extracción de
Características
Secuencias de
vectores
características
Entrenamiento de
modelos (HMM)
Reconocimiento
Modelos HMM
(Parámetros)
Caracteres
reconocidos
Conjunto de
entrenamiento
Conjunto
de test
Fig 28: Diagrama de proceso de reconocimiento
52
2.22 POST-PROCESO
La precisión de ICR se puede mejorar si la salida se restringe por un léxico: una
lista de palabras, por ejemplo, las palabras del idioma español, o un léxico más técnico
para un campo específico. Esta técnica puede ser problemática si el documento
contiene palabras que no están en el léxico, como los nombres propios. Tesseract
utiliza su diccionario para influir en el paso de segmentación de caracteres, para
mejorar la precision.
Los algoritmos de corrección de texto tienen como objetivos: detectar y corregir,
ya sea de forma automática o interactiva, los errores de redacción generados por los
humanos; esto con el fin de aumentar la calidad de los textos[4]. En este trabajo el uso
es la mejora de reconocimiento de texto de origen histórico. Una palabra es correcta si
se está en el diccionario, de lo contrario se considera error, para este trabajo la
composición del diccionario se hizo con el Corpus de Referencia del Español Actual
(CREA).
2.22.1 Sistemas de Diálogo
Un sistema de diálogo, responde a la entrada de texto de un usuario, funciona de
forma natural que poda no distinguirse de una respuesta generada por humanos.
Las características del lenguaje permiten se agrupen de diferentes formas. La
morfología que se refiere a la forma y estructura interna de las palabras,el léxico se
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
53
encarga de la segmentación del texto y las palabras en grupos significativos como
palabras, es importante el léxico en la aplicación del NLP.
La sintaxis es el conjunto de reglas para formar oraciones, la semántica, se
refiere a las relaciones existentes entra las oraciones para construir un significado
superior. Una rama de la lingüística se enfoca en el estudio del uso del lenguaje en el
contexto de la comunicación.
2.22.2 Corrector ortográfico
Se utilizan categorías de datos como inserción, eliminación, transposición y
sustitución, cada categoría representa tipos específicos de errores del texto;
a) Eliminación
Se utiliza un algoritmo para eliminar caracteres de palabras incorrectas. Antes
de agregar el término creado a la lista de ideas, el algoritmo elimina un carácter de la
palabra y verifica su exactitude, para cada letra de la palabra, se repite el
procedimiento.
b) Inserción
Corrige errores tipográficos en palabras que tienen un carácter faltante, coloca
una letra del alfabeto en el lugar donde ocurrió el error y luego verifica que la palabra
resultante sea correcta antes de agregarla a la lista de posibles palabras.
c. Sustitución
El algoritmo de sustitución toma una palabra y sustituye una letra por otra en el
alfabeto, luego comprueba si la palabra resultante tiene sentido antes de añadirla a la
lista de sugerencias.
d. Transposición
Se cambia una sola letra de una palabra insertándola en todas las demás
posiciones, para añadir la palabra a la lista de recomendaciones, verifica su precision,
el procedimiento se repite una vez más para cada letra de la palabra[13].
D[][]=[1][]+1
D[][]=[][1]+1
D[][]=[1][1]+(,)
54
D[][]=[2][2]+1
Se muestra cómo calcular la distancia de edición entre dos cadenas. [][] se
refiere a las celdas de la matriz dinámica del algoritmo de distancia de edición, i,
representa la fila de la matriz y representa la columna de la matriz.
La corrección(w) intenta elegir la corrección ortográfica más probable para w.
No hay forma de saberlo con seguridad (por ejemplo, ¿debería corregirse "lates" a
"late" o "latest" o "lattes" o...?), lo que sugiere que usemos probabilidades. Se trata de
encontrar la corrección c, entre todas las posibles correcciones candidatas, que
maximice la probabilidad de que c sea la corrección deseada, dada la palabra original
w:[2]
argmaxc ε candidate P(c/w)
Por Bayes es equivalente a:
argmaxc ε candidate P(c) P(w/c)/P(w)
Dado que P(w) es el mismo para cada posible candidato c, podemos factorizarlo,
dando:
argmaxc ε candidate P(c) P(w/c)
Las cuatro partes de esta expresión son:
a) Mecanismo de selección: argmax
Elegimos al candidato con la mayor probabilidad combinada.
b) Modelo candidato: c candidatos
Indica que la corrección a considerar es c,.
c) Modelo de lenguaje: P(c)
La probabilidad de que c aparezca como una palabra de un texto. Por ejemplo,
las apariciones de "la" constituyen aproximadamente el 7% del texto en español, por
lo que deberíamos tener P(la) = 0,07.
d) Modelo de error: P(w|c)
La probabilidad de que w sea parte del texto cuando se quiso decir c. Por
ejemplo, P(lal|la) es relativamente alto, pero P(lalll/la) sería muy bajo.
Algunas cuestiones:
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
55
¿por qué tomar una expresión simple como P(c|w) y reemplazarla con una expresión
más compleja que incluya dos modelos en lugar de uno?
Es que P(c|w) ya está combinando dos factores, y es más fácil separarlos y tratarlos
explícitamente.
Considere la palabra mal escrita w="lal" y las dos correcciones candidatas c="la" y
c="lall", ¿Cuál tiene una mayor P(c|w)?
Bueno, "descongelar" parece bueno porque el único cambio es "a" a "e", lo cual es un
pequeño cambio. Por otro lado, "la" parece bueno porque "la" es una palabra muy
común. Para estimar P(c|w) tenemos que considerar tanto la probabilidad de c como la
probabilidad del cambio de c a w, por lo que, es mejor separar formalmente los dos
factores
Los aspectos clave de un sistema de corrección ortográfica, pueden ser:
Descripción general
Fuera de línea, antes de realizar cualquier consulta:
Fichas de indexación. Construyendo el índice utilizado en el momento de la
consulta para la generación de candidatos.
Construyendo un modelo de lenguaje. Calcular el modelo para estimar la
probabilidad a priori de una consulta prevista.
Construyendo un modelo de error. Calcular el modelo para estimar la
probabilidad de un error ortográfico particular, dada una consulta prevista.
En el momento de la consulta:
Generación de candidatos. Identificar los candidatos a corrección ortográfica
para la consulta.
Tanteo. Calcular la puntuación o probabilidad de cada candidato.
Presentar sugerencias. Determinar si y cómo presentar una corrección
ortográfica.
2.22.3 Fichas de indexación
La indexación para la corrección ortográfica es un poco diferente a la de la
recuperación de documentos. La estructura de datos fundamental para la recuperación
56
de documentos es un índice invertido (también conocido como lista de publicaciones)
que asigna tokens a documentos. Por el contrario, la indexación para la corrección
ortográfica normalmente asigna subcadenas de tokens (n-gramas de caracteres) a
tokens.
La mayoría de los tokens mal escritos difieren de los tokens previstos en unos
pocos caracteres como máximo (es decir, una pequeña distancia de edición). Un índice
para la coincidencia aproximada de cadenas permite el descubrimiento de estos cuasi
accidentes mediante la recuperación de cadenas (en nuestro caso, tokens) por sus
subcadenas. Se genera este índice identificando los tokens únicos en el corpus,
iterándolos e insertando las asignaciones apropiadas de subcadena a cadena en un
índice de subcadena, como un índice de n-gramas o un árbol de sufijos. [3]
Para obtener la lista de alternativas en el caso de que la palabra sea errónea, el
corrector buscará en el diccionario las palabras que se obtengan a partir de la palabra
incorrecta mediante las operaciones elementales de caracteres: inserción, borrado,
sustitución o transposición, las operaciones permitidas en la distancia Damerau-
Levenshtein. A diferencia del modelo original, el método propuesto asigna diferentes
pesos a las operaciones de acuerdo con la frecuencia de las letras en español
2.22.4 Distancia de edición
La medida básica utilizada para calcular la similitud entre palabras es la distancia
de edición también conocida como distancia de Levenshtein. El algoritmo cuenta la
cantidad de operaciones requeridas para convertir una cadena de caracteres en otra.
La respuesta de este algoritmo es un valor numérico. Ejemplo, la distancia entre
vegddy verdades 2, porque se requierenn dos operaciones para transformar una
palabra en otra: 1. vegdd > verdad (sustituir la g por r’) 2. verdd > verdad
(insertar la ‘a’).
El 80% de los errores ortográficos corrresponde a palabras erróneas con distancia
de edición igual a uno comparado a la palabra original. Es decir, el 80% de los errores
son de caracter tipográfico y se encuentran en una de las cuatro categorías de error
descritas.
Al término de las transformaciones de palabra mal reconocida, cada una de ellas
se busca en el diccionario y las palabras que se encuentren en ´el se agregan a la lista
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
57
de alternativas. La mejor sugerencia de corrección será la de menor distancia a la
palabra errónea
El idioma español cuyo alfabeto se compone de 27 letras: a, b, c, d, e, f, g, h, i,
j, k, l, m, n, ˜n, o, p, q, r, s, t, u, v, w, x, y, z ; una palabra de longitud n produce: n
eliminaciones, n−1 transposiciones, 26n sustituciones y 26(n+1) inserciones lo que da
un total de 54n+25 palabras generadas. De este conjunto de palabras solo un pequeño
número serán palabras reales presentes en el diccionario.
2.22.5 Componente propuesto
La propuesta es modificar el algoritmo de Levenshtein, con asignación de
operaciones de edición y costos basados en la frecuencia de letras en las palabras. Esta
ponderación intenta maximizar la distancia entre w y ci , el error y la corrección; esto
es cuando es poco probable en el vocabulario del español.
La modificación es en costo de operaciones de inserción y sustitución, de modo
que los costos de las operaciones son los siguientes:
Costo de inserción y sustitución: si el caracter es el más frecuente entonces el
costo de la operación es el mínimo, en caso contrario el costo se incrementa.
Costo de eliminación y transposición: el costo es uno para cualquier caracter.
Fig 29: Frecuencia de aparición de letras en español [5]
2.22.6 Clases Semánticas de CESS-ESP: Anotación Semántica
Los corpus anotados constituyen un recurso crucial para adquirir o inducir conocimientos
lingüísticos, Este conocimiento es sobre cómo se utilizan las lenguas. Los corpus etiquetados
son un recurso para la computación y análisis lingüístico de los lenguajes. CESS-ESP se centra
en clases semánticas verbales que determinan el mapeo entre funciones sintácticas y roles
semánticos [6].
En las estructuras semánticas léxicas (LSS), se consideran cuatro estructuras principales que
corresponden a los cuatro eventos de clases ontológicas, los que son, estados, actividades (o
procesos), resultados y logros:
58
a) [x <STATE> ]
b) [x ACT<MANNER/INSTRUMENT> y]
c) [x CAUSE [BECOME [y<STATE/THING/PLACE> ]]]
d) [BECOME [y<STATE> ]]
Ejemplo, los predicados definidos como logros (LSS (c)) permiten diátesis causativa,
anticausativa y resultante, que se centran en la primitivas CAUSA, CONVERTIRSE,
ESTADO:
abrir: [x CAUSA [CONVERTIRSE en [y <ESTADO>]]]
Juan abre la puerta: [Juan CAUSA [CONVERTIRSE [puerta <OPEN>]]]
(Causante)
'Juan abre la puerta'
La puerta se abre: [x CAUSA [CONVERTIRSE en [puerta <OPEN>]]]
(Anticausativo)
'La puerta se abre'
La puerta está abierta: [x CAUSA [CONVERTIRSE [puerta <OPEN>]]]
(Resultativo)
'La puerta está abierta'
El LSS en (a) corresponde al estado de clase ontológico, con solo un entidad
involucrada en el evento, y se centra en el estado. En LSS (b) corresponde a actividades
o procesos, se presenta sujetos agentes y permite construcciones pasivas, en la LSS (c)
se refiere a logros estados resultantes en procesos de causas externas con un sujeto
causante y, la LSS (d) son logros que se refieren a un estado resultante en procesos sin
intervención externa.
2.22.7 ANALISIS SINTACTICO
Un analizador de lenguaje natural resuelve la estructura gramatical de las oraciones,
por ejemplo, qué grupos de palabras van juntas (como "frases") y qué palabras son el
sujeto o el objeto de un verbo. Los analizadores probabilísticos utilizan el
conocimiento del lenguaje obtenido a partir de oraciones analizadas a mano para tratar
de producir el análisis más probable de nuevas oraciones. Estos analizadores
estadísticos tienen algunos errores, pero en general funcionan bien(Guerrero Alejandra
& Silva, n.d.).
Extracción de palabras clave usando hipegrafos:
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
59
Fig 30: Proceso de extracción de palabras con hipegrafos
El proceso de extracción de palabras clave:
60
Inicio
Ingrese
archivo
Entrada de
datos
(Corpus)
Deteccióm
idioma NLTK
Está en
Español
Preprocesamiento
de texto
Análisis de Texto
Generación matriz
de incidencia
Conteo de
incidencia de
hiperaristas
Análisis de matriz
de incidencia
Palabras
clave de
algoritmo
Análizar texto
TF-IDF
Palabras
clave usando
TF-IDF
No es
español
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
61
Grafo de dependencias sintácticas colapsadas por cada oración:
Fig 31: Extractor de palabras clave
Inicio
Listado
dependencias
sintácticas
colapsadas
Inicializar grafo
Para cada dependencia
sintáctica colapsada
Nodo[padre]
existe
Crear nodo[padre]
Nodo[hijo]
existe
Crear nodo[hijo]
nodo[padre].agregar_vecino(nodo[hijo])
Fin
Fig 32: Dependencias sintácticas por oración
62
2.22.8 EVALUACION SEMANTICA
El segundo conjunto de datos seleccionado es el corpus: Extracción de palabras
o frases clave para artículos científicos, con palabras clave determinadas por los
autores de artículos. Las publicaciones están en librería digital ACM (Association for
Computing Machinery) y se seleccionan de 4 áreas de investigación diferentes:
a) Sistemas distribuidos
b) Búsqueda y recuperación de información
c) Inteligencia artificial / Sistemas multiagente
d) Sociales / Economía / Ciencias de la conducta
Se eliminan las referencias bibliográficas de los textos, las referencias a secciones,
artículos, figuras, tablas y formulas, para el analizador sintáctico de Stanford (Stanford
Parser). Para el conteo de frecuencia de palabras, se implementa las técnicas de cambio
de mayúsculas a minúsculas, stemming, lematización, eli. minación de stopwords y
eliminación de signos de puntuación:
El texto se ingresa al analizador sintáctico de Stanford (Stanford Parser), la clase texto
tiene una función generar_dependencias, que obtiene dependencias sintácticas
colapsadas, estas dependencias se guardan en archivo de texto plano
Los proyectos de ley sobre puertos e inmigración fueron presentados
por el senador Brownback, republicano de Kansas. La ciudad de
Kansas está en Misuri. El senador Brownback es un político
estadounidense.
Nsubjpass(submitted-7, Bills-1)
Prep-on(Bill-1, ports-3)
Conj_and(ports-3, inmigration-5)
auxpass(submitted-7, were-6)
root(ROOT-0, submitted-7)
nn(Brownback-10, Senator-9)
agent(submitted-7, Brownback-10)
appos(Brownback-10, Republican-12)
prep_of(Republican-12, Kansas-14)
nn(Brownback-2, Senator-1)
nsubj(politician-6, Brownback-2)
cop(politician-6, is-3)
det(politician-6, an-4)
nn(politician-6, american-5)
root(ROOT-0, politician-6)
nn(city-2, Kansas-1)
nsubj(is-3, city-2)
root(ROOT-0, is-3)
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
63
Las dependencias sintácticas, se representan gráficamente con un árbol sintáctico:
Algunos ejemplos de los n-gramas que se obtienen a partir de la oración “Bills on ports
and immigration were submitted by Senator Brownback, Republican of Kansas, son
Trigramas de elementos léxicos obtenidos:
ROOT
politician
Brownback
is
an
american
Senator
root
nsubj
cop
det
nn
Fig 33; Arbol sintáctico de dependencias
root, submitted, bills
root, submitted, were
root, submitted, brownback
submitted, bills, ports
submitted, bills, were
brownback, senator, republican
bills, ports, inmigration
submitted, bills, brownback
submitted, were, brownback
submitted, brownback, republican
submitted, brownback, senator
brownback, republican, Kansas
root, politician, brownback
root, politician, is
root, politician, an
root, politician, american
politician, brownback, is
politician, brownback, senator
politician, brownback, an
politician, brownback, american
politician, is, an
politician, is, american
politician, an, american
64
Conteo de frecuencia de las palabras contenidas en los textos de entrada:
Se observa la palabra y dos indicadores, el primero es el número de textos en
los que aparece la palabra y el segundo el valor TF·IDF (Term Frecuency) máximo.
La eliminación de stopwords (Anexo K) es importante en la extracción de
palabras clave, para que los resultados sean mejores.
“brownback”: [2, 0.0],
“submitted”:[1, 0.04620981203729684],
“american”: [1, 0.046209812037329684],
“supported”: [1, 0.03150669002545206],
“inmigration”: [1, 0.046209812037329684],
“one”: [1, 0.03150669002545206],
“history”: [1, 0.03150669002545206],
“troop”: [1, 0.03150669002545206],
“support”: [1, 0.03150669002545206],
“law”: [0.03150669002545206],
“signed”: [0.03150669002545206],
“Israel”: [0.03150669002545206],
“governor”: [0.03150669002545206],
“largest”: [0.03150669002545206],
“Kansas”: [2,0.0],
“also”: [0.03150669002545206],
“surge”: [0.03150669002545206],
“income”: [0.03150669002545206],
“bills”: [0.03150669002545206],
“2007”: [0.03150669002545206],
“politician”: [0.03150669002545206],
“republican”: [0.03150669002545206],
“senator”: [0.03150669002545206],
“tax”: [0.03150669002545206],
“cuts”: [0.03150669002545206],
“voiced”: [0.03150669002545206],
“city”: [0.03150669002545206],
“ports”: [0.03150669002545206],
“iraq”: [0.03150669002545206],
“missouri”: [0.03150669002545206],
“war”: [0.03150669002545206],
Fig 35: Frecuencia de palabras en textos
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
65
La técnica de conteo de incidencias se usa para determinar palabras clave del
documento.
La ponderación TF·IDF (Term frequency, Inverse document frequency) es una
medida estadística para evaluar la importancia de un término en un documento o en un
conjunto de documentos. Se usa con frecuencia para extracción de palabras clave,
frases clave, generación de resúmenes automáticos y clasificación de documentos.
TF (Frecuencia de términos) es el número de ocurrencias de una palabra en un
documento (Custodio, 2016), es la relevancia de la palabra t en documento d:
TF = 

En donde  es el número de ocurrencias del término i en un documento j y  es el
número de ocurrencias de todos términos contenidos en el documento j
IDF (Frecuencia inversa de documentos) se define como el número total de
documentos que se están analizando, normalizado por el número de veces que aparece
el término en el resto de los documentos. Esta medida indica que tan representativa es
una palabra en el documento:
IDF=log

Donde es el número total de documentos analizados, y {   } es el número
de documentos donde el término  aparece tal que  0. Entonces TF·IDF:
  = 

. Log

2.22.9 MINERIA DE TEXTOS
Existen dos formas de similitud de palabras: similitud léxica de secuencias de
caracteres similares (mismo morfema, lexema, etc) y similitud semántica por el mismo
significado o son usadas en el mismo contexto. La primera es a través de algoritmos
de cadenas y la segunda es mediante algoritmos con corpus y conocimiento:
Medidas basadas en cadenas: utilizan secuencia de cadenas y composición
de caracteres. Comparan dos cadenas de textos para estimar su
equivalencia.
66
Medidas basadas en corpus: evalúan la semejanza entre palabras a través
de la información que tienen grandes textos.
Medidas basadas en conocimiento: determinan la semejanza entre palabras
con información obtenida de redes semánticas.
2.23 CARACTERES DAÑADOS
Los caracteres dañados son segmentados y reconocidos usando técnicas como
Método de Otsu, perfil de proyección vertical y perfil de proyección horizontal. En
proyección vertical el perfil de los caracteres se identifican por columnas y en
proyección horizontal el perfil de los caracteres son identificado por filas
Se usa enfoque MBT para identificar los caracteres rotos en los que caracteres
con el ancho por encima del valor medio son considerados completos y los que están
por debajo del valor medio, están rotos.
Los caracteres rotos se aíslan y adelgazan para obtener el borde de él, luego se
reconstruye con ayuda de relleno de espacios del caracter dañado usando el algoritmo
de punto final (Valero, 2017)
Identificado el caracter se normaliza y adelgaza para obtener los puntos de borde.
Luego de detectar los puntos del borde, el segmento de línea se dibuja usando
componentes conectados y se comprueba si el caracter está roto o no, si está roto se
une usando un ajuste de curva polynomial(Valero, 2017)
Los documentos escritos a mano tienen imágenes claras para ser procesadas, éste
algoritmo funciona aceptablemente con documentos degradados. El diagrama de flujo
del método es:
Imagen de entrada
Preprocesamiento
Segmentación
Código de cadena
Umbral basado en la
media para
identificar charateres
Reconstrucción de
caracteres rotos
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
67
Se utilizan dos técnicas para identificar caracteres rotos: área superpuesta y
código de caracteres. Los caracteres rotos se identifican y se reconstruyen usando la
conexión con las áreas superpuestas y el codigo de caracter.
Codificación en cadena: este método se utiliza para la forma del caracter que
es segmentado de la proyección de perfil horizontal y vertical. Se genera varias salidas
y la de calidad superior y la más cercana será elegida.
Umbral basado en la media: método para identificar el caracter roto y el
caracter completo. Si el caracter coincide con el 95% y más del valor medio entonces
se clasifica como caracter completo, de lo contrario, es considerado como carácter
roto.
Reconstrucción: luego que los caracteres rotos se identifican se reconstruyen
usando la heurística con información de la base de datos:
 =  ;
  () ≥ 95%   ,
 ;
  () < 95%   
2.24 DOCUMENTOS HISTORICOS
En estos documentos se encuentran interferencias de atrás hacia adelante, es
sangrado transparente, papel oscurecido, tinta descolorida, marcas de pliegues,
manchas y regiones dañadas o arrancadas:
Fig 36: Proceso identificación caracteres rotos
68
El color se recoge, la distribución, textura del papel y, la escritura
monocromática se almacena como imagen del documento. Cuando se imprime el
documento, los datos recogidos permiten colorear la imagen monocromática
produciendo una imagen similar al original, según lo almacenado.
El clasificador de ruido utilizado es Random Forest que se implementa en
Weka. La arquitectura de detección de ruido se forma por clasificadores paralelos que
detectan ruidos de borde de encuadre, sesgo, orientación e interferencia de atrás hacia
adelante. Los tres primeros clasificadores reconocen ruidos cerca de 100 % de
precisión, el último por su complejidad utiliza una estrategia sofisticada de
clasificación y detección de ruido(Silva Gabriel & Dueire Rafael, 2010).
2.24.1 CLASIFICADOR DE INTERFERENCIA DE ATRÁS HACIA
ADELANTE
Las imágenes son etiquetadas en cuatro niveles de interferencia como: fuerte,
medio, ligero y ninguno. Los clasificadores de este ruido se conectan en cascada. La
arquitectura de cascada usa clasificador para detectar ruido de atrás hacia Adelante:
Si
No
Fuerte
De Atrás
hacia adelante
Medio
De Atrás
hacia adelante
Ligero
De Atrás
hacia adelante
Si
Si
No
Sin ruido
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
69
Fig 37: Proceso para detector ruido
Se utilizan imágenes JPEG, donde los documentos no son blanco, también
consideran otros ruidos por vejez, manchas, etc.
2.24.2 ELIMINACION DE BORDES
Los bordes de digitalización afectan la calidad de imagen, esto tiene
implicaciones al preprocesar sus imágenes de entrada en escala de grises o binario
antes del reconocimiento de caracteres.
Fig 38: Eliminación de bordes de digitalización
2.24.3 ELIMINACIÓN DE INTERFERENCIAS DE ATRÁS HACIA
ADELANTE
Se segmenta los tres componentes del documento (fondo, tinta e
interferencias):
La primera aplicación del algoritmo separa el texto del resto del
documento
Separa el fondo del frente interferencia del resto del papel.
Fig 39: Eliminación de interferencias de atras adelante
70
2.24.4 MEJORA DE DOCUMENTOS
La imagen final se obtiene con los píxeles del objeto y reemplazando los
píxeles de fondo con el promedio de los colores de los píxeles de clase:
2.24.5 MÓDULO DE COMPRESIÓN
En la compresión la imagen se descompone y almacena como archivo
comprimido, imagen monocromática junto a los colores y la textura de los gráficos
elementos del documento (papel, impresión, firma, etc.)
Fig 40: mejora de imagen final
Colorear
Generación de imagen de papel
Información
de textura
Generación
de textura
+
Información textual
Imagen
sintética
Generación de imagen de tinta
Fig 41: Proceso de composición
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
71
2.25 RECONOCIMIENTO DE DOCUMENTOS HISTORICOS MANUSCRITOS
El resultado del reconocimiento de una palabra es la composición de las partes
reconocidas individualmente. La calidad holística de reconocimiento de palabras para
documentos históricos, se justifica para documentos severamente degradados una
segmentación de palabras por caracteres que producirá resultados pobres. La calidad
de los documentos originales no permite reconocerlos con alta precisión: el objetivo
es producir transcripciones que permitan la recuperación de imágenes, que es factible
en entornos ruidosos.
El trabajo es reconocer manuscritos escritos a mano usando HMM simple con
un estado por cada palabra(Lavrenko et al., n.d.)
En la detección de líneas de texto en documentos manuscritos históricos
dañados,se uitliza un método diseñado para detectar líneas de texto en imágenes en
escala de grises. El método consta de dos etapas: en la primera se detecta caracteres
potenciales en la primera etapa, analizando los mapas de evolución. de componentes
conectados obtenidos por un umbral, los caracteres potenciales detectados se agrupan
en líneas de texto. En la segunda etapa, se utiliza el método de barrido de línea. El
método se aplica a documentos rotos y dañados en los que otros algoritmos no son
eficientes (Rabaev et al., n.d.)
2.26 GESTION DOCUMENTAL
2.26.1 Características generales
ISO 23081 es un marco para creación, gestión y uso de metadatos para la gestión
de documentos, y explica los principios. Esta Norma es una guía para entender,
implantar y utilizar metadatos en el marco de la Norma ISO 15489 de Información y
documentación de Gestión documental. La ISO 30300 tiene las ventajas de integrar el
Sistema de Gestión Documental con el resto de Sistemas de Gestión ISO, tiene
beneficios adicionales en organizaciones para implantar un Sistema de Gestión para
los Documentos (Zea Evelin, 2016).
Los SGD deben contar con principios definidos en la norma ISO 15489-1:
Fiabilidad, atributo relacionado con la creación y el mantenimiento de
documentos.
72
Integridad, se aplica medidas para controlar el acceso, identificación del
usuario, la destrucción autorizada y la seguridad, evita la modificación o
la eliminación no autorizada
Conformidad. Se cumple los requisitos de actividades propias de la
organización, de su entorno normativo y de las expectativas de la
Sociedad.
Exhaustividad. se relaciona con la gestión los documentos procedentes
de todas las actividades o secciones de la organización.
Carácter sistemático, plantea que los documentos de archivo se deben
crear, conservar y gestionar sistemáticamente
Las funciones del Sistema de gestion documental electrónica son:
Búsqueda: proporciona información, para descubrir si existen datos de
interés.
Recuperación: tiene información de interés para usuarios. El componente
que recupera los datos desde el metadato es simple y complejo como
para cubrir cuestiones de seguridad y realizar una transacción financiera
(compra en línea).
Evaluación: tiene información para determinar si los datos son útiles para
una aplicación.
Un SGD, requiere un área responsable de su implantación en la estructura
orgánica, sea la de mayor nivel jerárquico en la organización.
Un SGDE es el principio de la incorporación de gran cantidad de información
en papel, a un sistema electrónico para guardar información de manera lógica,
ordenada y sistematizada, en entorno de oficina sin papel.
La recuperación de información es una actividad que se produce dentro de un
proceso documental. Las fases pueden resumirse en las siguientes:
Selección y adquisición
Análisis
Almacenamiento
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
73
Búsqueda o recuperación
Difusión de la información.
Las ventajas de un SGDE en una organización son las siguientes:
Reduce la necesidad de manipular, almacenar y recuperar la
documentación en papel.
Reduce el costo del proceso de creación, almacenamiento y conservación
de los documentos.
Es eficiente porque facilita su recuperación y acceso.de los documentos.
Reutiliza la información obtenida y permite compartirla con toda la
organización.
Reduce los costos de mantenimiento y apoyo.
Ofrece apoyo en la toma de decisiones.
Asegura su preservación histórica
Estos beneficios suelen ser agrupados en tres grandes bloques:
Beneficios estratégicos: Afectan a la organización en su labor cotidiana.
Beneficios financieros: afectan la reducción de costos y aumentan la
productividad.
Beneficios técnicos: mejoran los aspectos y procesos tecnológicos que se
dan dentro de la organización
La norma ISO 15498 propone la metodología DIRKS (Designing and
Implementing Recordkeeping Systems). En el diseño e implementación de un sistema
de gestión de documentos, considera las actividades de:
Investigación preliminar
Análisis de las actividades de la organización
Identificación de los requisitos
Evaluación de los sistemas existentes
Identificación de las estrategias para cumplir con los requisitos
74
Diseño del sistema de gestión de documentos
Implementación del sistema de gestión de documentos
Revisión posterior a la implementación
La norma ISO 15498 proporciona también instrumentos, procesos, define
beneficios y, se adapta al modelo de gestión por procesos y propone la integración de
la gestión de documentos en los procesos de la organización.
Fig 42: Arquitecura de gestión de recuperación documental
2.26.2 Extracción de palabra clave de texto documental
El análisis de las principales metodologías para la extracción de palabras clave
es muy útil para evaluar rápida y eficazmente grandes cantidades de texto para luego
realizar búsqueda en línea. Las palabras clave de un documento proporcionan una
descripción muy detallada del contenido, se utilizan para la construcción de índices,
refinamiento de consultas, resumen de texto, etc., se emplean en la recuperación de
información y el procesamiento del lenguaje natural.
El proceso para extracción de palabra clave es:
Extraer texto de documento.
Eliminar puntuación y caracteres especiales.
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
75
Convertir a minúsculas y eliminar palabras vacías.
Lematización y derivación de palabras.
Tokenización.
Corrección ortográfica.
La extracción de palabras clave se realiza:
Identificación de palabra candidata.
Generación de vectores de características.
Texto sin formato
Tokenización de oraciones
Tokenización de palabras
Etiquetado de puntos de venta
Fragmentación de NP
El algoritmo se basa en el criterio de a mas frecuencia de aparición de la palabra
en un documento, mayor es su importancia, esto es el criterio para cualquier texto, la
importancia de la palabra es completamente dependiente del documento.. El agregado
para gestión documental es, identificar el tipo de documento y según sea se agrega al
algoritmo metadatos imperativos como fecha, persona de origen y destino, titulo y/o
referencia.
La metodología Tf-idf (Término Frecuencia-Frecuencia de documento inversa)
usa el peso dado a un término particular dentro de un documento y es proporcional a
76
la importancia del rmino, el peso es una medida estadística para evaluar la
importancia de una palabra en el documento
Df-icf (frecuencia de corpus inversa de frecuencia de documento) para conocer
la importancia de un documento en el conjunto, un término que tiene un alto nivel de
importancia en un documento de baja ponderación pierde su importancia, se amplia la
idea para identificar la importancia de un documento utilizando el df-icf [7]
Algoritmo TF-IDF
El tf-idf depende de dos factores: la frecuencia de término y la frecuencia inversa
del documento.
El conteo de términos en el documento es el número de veces que palabra
aparece en el documento, se define de la siguiente manera:


nij: número de ocurrencias del término considerado en documento
: suma del número de apariciones de todos los términos en documento
La frecuencia inversa del documento mide la importancia general del término,
se define:


: es el número total de documentos en corpus
: es el número de documentos donde ti aparece
El peso tf-idf del término ti en un documento particular dj es el producto de tf y
idf:
(tf idf)i,j = tfi,j x idfi
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
77
2.26.3 Proceso de Indexación documental
Es una operación que tiene por función la identificación de los conceptos que
representan el contenido de un documento y la traducción de los mismos a una forma que
computacionalmente sea manejable. Se identifican dos etapas:
a) Reconocimiento del documento y extracción de los conceptos contenidos en el
mismo.
b) Traducción de tales conceptos en términos de un lenguaje documental
La indexación puede realizarse desde dos enfoques: uno basado en métodos no
lingüísticos y otro basado en métodos lingüísticos. En el primer caso, se utilizan técnicas
estadísticas para análisis de frecuencias y cálculo de pesos de los términos, análisis de
probabilidades para determinación de multipalabras y técnicas de agrupamiento (clustering)
destinadas a la detección y extracción de relaciones. En el segundo caso, se utilizan técnicas
derivadas del procesamiento del lenguaje natural (PLN), las que pretenden imitar el
comportamiento de los indizadores humanos
La indexación de base no lingüística se fundamenta en el análisis de la frecuencia de
los términos y su distribución dentro de los documentos. Este análisis tiene como objeto
establecer criterios que permitan determinar si una palabra es un término de indexación
válido, fundamentalmente porque permite discriminar el contenido de los documentos y que
aporta información.(Tolosa Gabriel H, 2016)
Se han estudiado y determinado algunas propiedades estadísticas del texto escrito
que determinan cómo se distribuyen las frecuencias de aparición de las diferentes palabras en
una colección y cómo crece el tamaño del vocabulario conforme crece tal colección. Existen
dos experiencias que describen estas propiedades: la ley de Zipf y la ley de Heaps
78
Fig 43: Flujo de proceso de indexación documental
Las etapas que conforman este proceso son las siguientes:
a) Análisis lexicográfico: Se extraen las palabras y se normalizan.
b) Eliminación de palabras vacías o de alta frecuencia en la colección.
c) Stemming: Se reducen palabras morfológicamente parecidas a una forma base, con
la finalidad de aumentar la eficiencia.
d) Selección de los términos a indexar: Se extraen aquellas palabras simples o
compuestas que mejor representan el contenido de los documentos.
e) Asignación de pesos o ponderación de los términos que componen los índices de
cada documento. En algunos modelos es fundamental asociar la importancia de un
término t en un documento d a los efectos de mejorar las prestaciones.
La cantidad de información que la aparición de una palabra aporta sobre la aparición de
la otra:
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
79
IM (A,B) = log2󰇛󰇜
󰇛󰇜󰇛󰇜
P(A,B) es la probabilidad que los términos A y B ocurran juntos
P(A) Probabilidad de ocurrencia del término A
P(B) Probabilidad de ocurrencia del término B
2.26.4 Modelo de Recuperación de Información
La recuperación de información busca documentos relevantes de acuerdo a
una necesidad de información, expresada como una consulta. Esta tarea es imprecisa debido
a las simplificaciones que se realizan en todo el proceso, por ejemplo, el mapeo de la
necesidad de información del usuario en un query o la visión lógica de un documento como
un conjunto de palabras.
Las estrategias pueden ser:
a) Búsqueda por texto libre
Analiza cada documento del corpus de forma secuencial a un costo O(n). Busca que el
patrón ingresado se encuentre en el documento y si existe coincidencia pertenece al
conjunto solución
b) Búsqueda ingenua
Optimiza el modelo anterior permite rankear los documentos de la respuesta:
Consulta = {q1, q2, .., qn}
Doci = {(t1,p1), (t2, p2), ..., (tm, pm)} (Los términos están en orden alfabético)
Donde q es un término de una consulta
t un término existente en un documento
p peso asociado al término, que indica su importancia
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
81
3 Base Metodológica
Para el reconocimiento de caracteres las variables corresponden a cnicas de PCA
(Análisis de componentes principales) y RFE (Eliminación Recursiva de
Características) que permiten crear modelos más eficientes para el ROC. Con éstas
técnicas el tamaño del conjunto de datos decrece y el tiempo de clasificación de los
caracteres se reduce. En el proyecto hay entradas que mantienen siempre el mismo
valor o que presentan muy poca variación en sus datos. Estas variables serán
descartadas. (Miralles et al., 2015).La metodología de studio considera las fases:
3.1 DESCRIPCIÓN DE LA BASE DE DATOS
El proceso de ICR se inicia con la digitalización de imágenes de escritura a mano
que tienen los caracteres, para uso en proyecto. Este conjunto está compuesto por un
total de 70,000 documentos, cada documento tiene 785 campos, un campo como salida
del modelo representa el caracter y el resto de los campos son entradas. Las entradas
son píxeles de la imagen que representa el caracter escrito a mano. Cada imagen tiene
una resolución de 28x28, lo que hace un total de 784 píxeles. Cada pixel es un número
entre 0 y 255 que indica el nivel de gris. El valor 0 es el color blanco y el valor 255 el
color negro.
3.2 REDIMENSIONAR IMAGEN
Los pixeles de una imagen es la resolución,y el conjunto de pixeles es una matriz.
La imagen en color tiene tres valores RGB (Red-Green-Blue) para representar a un
píxel. En el proyecto la imagen está en escala de grises por lo que cada pixel está entre
0 y 255.(Miralles et al., 2015)
De la imagen se extraen algunas características que son útiles para el acierto en las
predicciones del modelo.
Fase 1:
Redimensionar
la imagen
Fase 2:
tratamiento de
la imagen
Fase 3:
Selección de
variables
Fase 4:
Construcción
del modelo
Fase 5:
Evaluación del
modelo
Fig 44: Fases de reconocimiento de caracteres
82
Los datos, de imagen se representa por un arreglo bidimensional de píxeles en
escala de grises está representada por 785 atributos:
Caracter en la imagen, representa dígitos o caracteres alfabéticos.
784 valores en los píxeles (resultado de los 28x28 píxeles), toman valores
enteros de 0 hasta 255, siendo el valor 255 la intensidad más oscura (negro) y
el 0 la intensidad más clara (blanco).
Con la reducción de la dimensión de los datos se reduce el tamaño de las
imágenes. Por cada imagen de 28 x 28 píxeles, se utiliza imagenes de 14 x 14 píxeles.
Para esto, los valores de cuatro píxeles continuos en la imagen original se promedian
para obtener un píxel en la imagen de menor Escala:
125
136
252
253
109
95
126
52
125
236
123
145
59
87
38
74
116
171
127
95
3.3 TRATAMIENTO DE IMAGEN
Son técnicas para mejorar la calidad de la imagen y facilitan la búsqueda de
información en ellas: Binarización, Fragmentación o segmentación, adelgazamiento
de components, selección de características.
3.4 SELECCIÓN DE VARIABLES
Completadas las fases anteriores utilizaremos PCA y RFE para seleccionar las
características más importantes y descartar las menos relevantes. El PCA es una
técnica estadística para el descubrimiento de patrones en conjuntos de datos. Es la
selección de componentes para otorgar una mayor aportación de información para el
modelo.
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
83
Información mutua y PCA: La entropía es una medida de incertidumbre en una
variable aleatoria discreta, esto es, mide que tan uniforme es una variable. En este caso,
si la variable aleatoria tiene una distribución uniforme, la entropía es máxima. La
entropía se utiliza la siguiente función:
H(X) = 󰇛󰇜󰇛󰇛󰇜󰇜
La información mutua es una medida de dependencia entre dos variables aleatorias
discretas, esto es porque mide la reducción de la incertidumbre (entropía) de una
variable, según valor de otra variable. El cálculo de la información mutua utiliza las
siguientes ecuaciones:
H(X,Y) = 󰇛󰇜󰇛󰇛󰇜󰇜
IM(x,y) = H(X) H(Y) H(X,Y)
En la clasificación de caracteres manuscritos, las variables para generar los
modelos coinciden con los píxeles que reducen la incertidumbre de la clase. osea, las
variables de los píxeles con mayor información mutua. Se observa que algunas de las
variables descartadas coinciden con los píxeles de los bordes de la imagen, debido a
que los bordes no contienen información importante(Miralles et al., 2015).
Método recursivo de selección: RFE (Recursive Feature Selection) o eliminación
recursiva de características es un método de selección de variables. En éste método, se
van construyendo modelos desde una combinación de entradas. El algoritmo clasifica
las entradas del modelo de mayor a menor relevancia. Construye modelos con cada
variable de forma independiente y evalúa los resultados. Luego construye modelos así:
Primero con una variable, luego con la primera y segunda variable, despues con la
primera, la segunda y la tercera y así sucesivamente para todas las variables. La salida
del algoritmo es una gráfica con agrupaciones identificando la mejor combinación.
Con los resultados se descartan las variables menos importantes o que generan ruido.
El objetivo es doble: tener un número de variables más reducido y elegir la
combinación con mejores resultados. Esto permitirá construir modelos sencillos y más
precisos. La aplicación de RFE reduce el número de variables.
84
3.5 CONSTRUCCIÓN DEL MODELO
Metodología en la construcción de los modelos
Para la construcción y evaluación de modelos se utiliza una librería llamada Caret,
que viene de las siglas: Classification And Regression Training”. Esta librera permite
construir modelos en pocas líneas de código y de forma muy sencilla. El código para la
construcción de un modelo empleando Random Forest:
La instrucción trainControl sirve para indicar el mero de modelos que se ejecutan
por cada configuración. La instrucción “expand_grid” indica el número de árboles de tipo
Random Forest a utilizar. La tercera instrucción crear y evaluar el modelo. Esto con la función
“train” que tiene como parámetros: una matriz con las entradas, un arreglo con las salidas y el
método que se usará en este caso el Random Forest. El número de árboles que emplearemos
serán 1000. Las variables “control” y “grid” se explica en las dos primeras instrucciones. A
continuación el algoritmo genérico para la construcción de los modelos:
Algoritmo de construcción de métodos
- Leer el Data Set
- Seleccionar variables más significativas mediante Random forest o PCA
- Desde modelo: 1 hasta N
- Crear conjuntos de muestras diferentes mediante CV
- Desde configuración 1 hasta configuración N
- Crear varios modelos con una parte Training Set
- Probar el modelo con la partición restante
- Fin Desde
- Elegimos la media de los modelos y el mejor resultado
- Fin Desde
- Clasificar los métodos según los mejores resultados
Fin del Algoritmo
3.6 MÉTODOS DE CLASIFICACIÓN UTILIZADOS
Algunos de los clasificadores más conocidos como son: Random Forest, SVM, KNN, Redes
Neuronales y experimentamos con métodos de aprendizaje profundo Deep Learning.
Deep Learning: implementan metodología basada en crear modelos abstractos a partir de las
entradas (Gonzalez, 2012). Utilizan una serie de técnicas de aprendizaje para extraer
características de los datos de manera jerárquica. Las características de nivel superior se
forman a partir de las de niveles inferiores. Esta técnica construye modelos predictivos
precisos y con mejores resultados para diversidad de problemas. Una imagen en Deep
Learning se representa con un conjunto de bordes o una serie de formas. Esta técnica de
aprendizaje usa transformaciones no lineales para hacer representaciones de los datos, utiliza
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
85
un conjunto de capas concatenadas donde la salida de una capa es la entrada de la siguiente.
Cuanto más grandes sean las capas y mayor sea su número es mejor la capacidad de
abstracción. El Deep Learning crea técnicas útiles orientadas a problemas genéricos, genera
resultados en el reconocimiento de imágenes y en el procesamiento del lenguaje natural.
Deep Learning H20: paquete de R Studio que se basa en redes neuronales multicapa con
alimentación hacia adelante. Se entrenan con descenso de gradiente estocástico utilizando
retropropagación. Este modelo descarga a través de Internet una serie de datos empleados en
la configuración de los nodos.
Random forest: Son una combinación de árboles predictivos donde para cada árbol k se
genera un vector aleatorio, creado de manera independiente y con la misma distribución
empleada en cada árbol k del conjunto (forest). El árbol se construye con un conjunto de
entrenamiento, dando como resultado un clasificador.
KNN (K-Nearest neighbors): basado en el cálculo de la distancia más cercana,
normalmente distancia Euclidiana, entre los puntos del conjunto de datos a un punto dado,
donde K es el número de vecinos cercanos seleccionados.
SVN (Support Vector Machines): separa los datos por hiperplanos. Se busca por el
hiperplano óptimo, el cual brinda la máxima distancia desde los patrones de entrenamiento
más cercanos, los SV son entonces los vectores más cercanos a estos patrones
3.7 EVALUACIÓN DEL MODELO Y MUESTRA DE RESULTADOS
En la evaluación se mide el grado de precisión de cada modelo. Esta fase informa si la
dimensionalidad elegida es adecuada para el modelo. Para medir la calidad de los modelos se
utiliza el accuracy de cada método. Para la exactitud se suma los elementos de la matriz que
forman parte de la diagonal principal y se divide entre el total de elementos. En la Tabla 1, se
tiene los resultados de aplicar el método SVM con 10.000 muestras de entrenamiento y 15.000
para el test.
86
Matriz de Confusión método SVM
Fases en procesamiento de imágenes
Fase 1: Reducción
de imagen
Fase 2:
Tratamiento de
imagen
Fase 3: Selección
de Variables
Fase 4:
Construcción de
modelo
Fase 5: Resultados
No hacer nada
Ancho pixel
No extraer
características
KNN
0.9495
Imagen 14x14
Quitar filas blanco
PCA
Random Forest
0.9315
Imagen 28x28
Binarizar
RFE
Neuronal Network
0.9625
Tabla 2: Evaluación de fases de reconocimiento
La exactitud se calcula con:
Exactitud = 

En la matriz de confusión cada columna representa el número de predicciones de cada clase
y cada fila representa las instancias de la clase real. La precisión o accura cy del modelo es:
0.9641.
El experimento fue realizado utilizando un total de 42,000 muestras con un CV de 10
particiones.
0 1 2 3 4 5 6 7 8 9
01425 0 6 2 2 4 7 1 5 5
1 0 1677 3 2 3 2 0 6 6 1
2 1 7 1421 17 14 3 0 11 5 2
3 2 0 9 1503 229 0 7 11 8
4 2 2 3 1 1413 6 3 8 9 25
5 7 0 0 18 21279 7 0 10 5
6 4 3 2 2 9 12 1454 0 6 0
7 0 6 15 9 7 1 0 1507 318
8 6 1 11 29 210 3 3 1385 14
9 1 2 4 5 28 3 0 19 10 1398
Valores Reales
Valores Predichos
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
87
4 Descripción de Unidad de Alisis
El proceso en general consiste en:
Preprocesamiento,
Segmentación.
Extracción de funciones,
Reconocimiento,
Postprocesamiento
El extractor de funciones, genera información sobre el caracter de una imagen.
Los métodos de extracción se pueden dividir en dos categorías:
Comparación de plantillas, la imagen se compara con plantillas de
caracteres, generalmente utilizando píxeles de imagen como
características.
Análisis estructural. Se utilizan atributos como características en una
imagen, como las posiciones de las esquinas, las orientaciones de los trazos,
los huecos de los caracteres, etc. Es más complejo, pero es más robusto que
la simple comparación de plantillas.
Clasificador, utiliza la información extraída, características, para clasificar la
imagen de caracter como parte del conjunto de caracteres a reconocer (Zdeněk, 2014)
En el Proyecto se tiene varias etapas:
Cargar una imagen escaneada desde una máquina/computadora
Extracción de zona de texto de la imagen
Reconocimiento del texto y
Aplicar post técnicas de procesamiento (métodos de detección y corrección
de errores)
88
El procesamiento digital de imágenes generalmente utiliza imagen
bidimensional por una digital. La imagen como patrón de píxeles (imagen elementos),
es una matriz de elementos reales y caracteres representados por un número finito de
bits
El Sistema de reconocimiento no tiene ningún tipo de restricción referente a
estilo, altura, tipo de letra, grosor y dirección del trazo, etc.
Algunos objetivos específicos:
Detección de palabras partidas. Se utiliza método de extracción de
características. diversos clasificadores y ajuste de parámetros.
Técnicas de unión de las líneas partidas, para unir palabras partidas.
Efecto en la decodificación, experimentos de mejora al juntar las líneas.
4.1 PLANTEAMIENTO DE RECONOCIMIENTO INTELIGENTE DE
CARACTERES
Para el reconocimiento se usa la IA(Artificial Intelligence) con redes neuronales para
lograr resultados aceptables.
Hay tipos de manuscritos, para los que la aplicación aplique aprendizaje y pueda
reconocer palabras de distintas fuentes y caligrafías.
El modelo que se implementa es aprendizaje profundo (deep-learning) supervisado en
las imágenes de entrada para que en cada iteración se defina los caracteres y luego utilizarlos:
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
89
El entorno de desarrollo es el lenguaje Python y java.
4.2 ORIGEN DE DOCUMENTOS
4.2.1 CARACTERES MANUSCRITOS
MNIST tiene dos conjuntos de datos, para entrenamiento (60,000 imágenes) y
otro para prueba (10.000 imágenes). Se puede dividir el conjunto de entrenamiento en
dos conjuntos uno en 50,000 imágenes para entrenamiento y otro 10.000 para
validación. La red se entrena con imágenes poco deformadas, generadas en nea;
luego, se usa conjunto de entrenamiento no deformado para validación. Las
intensidades de píxeles de las imágenes originales en escala de grises oscilan entre 0
(fondo) y 255 (primer plano máximo de intensidad) y 28×28 = 784 píxeles por imagen
(Ciresan et al., 2010)
Los caracteres MNIST se originan deformando imágenes de entrenamiento,
para usar en redes. Se combina afines (rotación, escalado y cortante horizontal) y
deformaciones elásticas, caracterizadas por los parámetros de valor real:
σ y α: para distorsiones elásticas que emulan oscilaciones de los músculos
de la mano;
β: un ángulo aleatorio de [−β, +β] es la rotación o el corte horizontal. En
caso de cortante, tan β, define la relación entre el desplazamiento horizontal
Altura de imagen;
Caract=80
CNN
5 capas
RNN
2 capas
CTC
Perdido
CTC
Decodif
“casa”
0,1 2 3
“casa”
Características=256
Paso tiempo=32
Paso tiempo=32
Long=32
Long=32
90
γx, γy: para escalado horizontal y vertical, seleccionados al azar de
[1−γ/100, 1+γ/100].
Al inicio de cada época, el conjunto de entrenamiento MNIST se deforma.
Redes pequeñas tienen parámetros de deformación: σ =5,0 − 6,0, α = 36,0 − 38,0, γ =
15 − 20. Si los dgitos 1 y 7 son similares, se obtiene rotado/cortado menos (β = 7.5◦)
que otros dígitos (β = 15.0◦)
4.2.2 DOCUMENTOS MANUSCRITOS
Se cuenta como Base de datos pública IAM Handwriting, y su última versión
que contiene 1.539 páginas manuscritas en inglés de 657 escritores
Los documentos tienen una resolución de 300 dpi y se almacenan como imágenes
PNG, en escala de grises, con 256 niveles. Esta base de datos contiene un dataset de
115.320 palabras formado por las imágenes y su metainformación asociada
Imagen con tensor asociado
Dataset  compuesto por pares (, ) donde es un tensor normalizado que
representa una imagen con un texto manuscrito e es una secuencia de etiquetas.
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
91
4.3 PREPROCESAMIENTO PARA ICR.
4.3.1 Caracteres Rotos
La restauración de caracteres rotos de documentos históricos es importante, porque estos
documentos contienen hechos importantes y dejarlos lleva a perder información invaluable,
con este fin se analizan el algoritmo Gradient Vector Flow (GVF) y Balloon con escalones
triangulares para mejorar el algoritmo snake con el fin de determiner convergencia del área
de concavidad profunda y restauración de caracteres rotos, se denomina el GVF mejorado.
Otros métodos para reconocer caracteres rotos:
Modelo oculto de Markov (HMM) [4].
Red neuronal multicapa hacia Adelante para idioma hindi [5].
Método de Cadena y coincidencia de plantillas para reconocer rotos de idioma
persa [6].
Red bayesiana dinámica para reconocer caracteres degradados [7]
El carácter roto origina la pérdida de información, estos caracteres se generan por
decoloración de la tinta, escaneo inadecuado, calidad del papel agotado, fotocopiadora y
otros casos.
La expresión: X(s) = [x(s), y(s)], s[0.1] representa curva cerrada inicial que se forma por
fuerzas internas y externas para la convergencia de bordes. La función del algoritmo snake se
representa con la ecuación (Kass et al., 1988)
Esnake = Einternal + Eexternal
La energía interna se determina:
Einterna =
󰇛󰆒󰇛󰇜󰇛󰇜

Donde X′(s) es la primera derivada de X(s) representa la energa elástica que impone la
curva a encogerse, X"(s) es la segunda derivada de X(s) que representa la energía de flexión
que hace que la curva tienda a ser como una placa delgada. α y β son parámetros de
ponderación.
Eexterna = 󰇛󰇜
La fuerza externa Eexterna es reemplazada por el vector de degradación:
V(x,y) = (u(x,y),v(x,y))
92
V(x,y) se puede obtener minimizando la función de energía: (Xu & Prince, 1998)
Ε 
Dónde:  es la degradación del mapa de bordes y es el gradiente del mapa de bordes, y µ es
parámetro de ajuste.
Objeto WordSectionImage
Este objeto almacena imagen preprocesada, una lista de palabras, y sus resultados,
encapsula los resultados que retorna el método getWords:
Método getWords
Este método tiene tres procesos, el primero binariza la imagen por secciones y resalta
los bordes, el segundo identifica los bordes dentro de la imagen y por último convierte las
secciones de mayor jerarquía y almacena en rectángulos:
Proceso de ubicación de bordes:
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
93
Proceso de extracción de bordes:
Uso de preprocesamiento en el controlador
El modelo conceptual se implementa de la siguiente forma:
94
4.4 PROCESO DE RECONOCIMIENTO
En el cálculo de los códigos de contorno se aplica el procedimiento: en la imagen
recortada se elimina todos los pixeles que tengan 8 pixeles adyacentes, para quedar
solo el contorno de la imagen; luego se busca la esquina inferior izquierda de la imagen
y se recorre en sentido horario; durante este recorrido se guarda la dirección del
siguiente pixel que se recorre y al final se tiene una cadena que es el contorno de la
imagen.
Los demás experimentos usan la técnica del PCA(Principal Component
Analysis) que reduce la dimensionalidad de los datos quedándo solo con los N más
representativos. Para ello se usa un programa implementado en Octave (Ventzas et al.,
n.d.)
Para datos entrenados por textos escritos a mano, se usa Basu y el método de
entrenamiento de Rakshit al igual que Tesseract para escritura a mano. Con estos datos
el entrenamiento se realiza manualmente o usando Tess2Speech Trainer que
automatiza este proceso en Tesseract..
Para las imágenes con líneas de texto manuscrito se usan procesos básicos de
eliminación de ruido. Y se aplica en cada imagen la etapa de segmentación (o
separación) y preproceso de líneas.
El reconocimiento de texto manuscrito continuo off-line (RTM) se basan en tres
principios básicos:
Adoptar modelos simples, homogéneos y bien conocidos para todas las
fuentes de conocimiento.
Formular el proceso de reconocimiento como búsqueda óptima en una
estructura adecuada, como base en estos modelos.
Usar técnicas para aprender modelos con los datos de entrenamiento
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
95
El Pre-proceso de imagen tiene explosion:
|
Sub-explosión de Tesseract:
Diagrama de bloque de entrenamiento Tesseract 1:
0
1
2
3
2.1
Imagen
entrada
Preprocesado
de imagen
Imagen a
texto - ICR
Salida
Imagen a Caracter
Fig 45: Proceso de reconocimiento Tess2text
1
3
0
Imagen
entrada
Rotación y
recortado de
imagen
Escala
de
grises
Salida de
imagen
Pre-procesado de imagen
Ajuste de
brillo y
contraste
Ajuste de
brillo y
contraste
1.1
1.2
1.3
1.4
JPEG, PNG, BMP, GIF
Mismo formato entrada
Fig 46: Pre-procesado de imagen Tesseract
Análisis de
componente
conectado
Lineas de
texto y
palabra
Texto de
Salida
Palabras
reconocidas
2.1.1
2.1.2
1.3
1.4
De imagen
preprocesada
Cadena
Imagen a Texto
Palabras
reconocidas
Fig 47: Reconocimiento de caracter Tesseract
1
3
2
4
Imagen
entrada
Archivos de
caja de
edición
Entrenamiento
Salida
datos
entrenados
Datos entrenados
TIFF
Fig 48: Entrenamiento Tesseract
96
Diagrama de bloque de entrenamiento Tesseract 2:
Lista Palabras
Imágenes
página
entrenamiento
Archivos de
caja
Características
De carácter
(Archivos *.tr)
Conjunto
carácter
unico
Palabras
usuario
Word dawg
Freq-dawg
Inttemp
pffmtable
normproto
unicharset
DangAmbigs
Wordlist2dawg
Tesseract
Corrección
manual
Tesseract
mfTraining
cnTraining
Extractor
Unicharset
Adición
propiedades
caracter
Entrada
Datos Manual
Archivos de datos Tesseract
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
97
Diagrama de flujo de entrenamiento Tesseract
Genera archivos
caja para imagenes
Inicio
Imagen despliegue (TIFF)
Nombre datos entrenados ingreso
Lenguaje archivo caja selección
Existe nombre
datos entrenados
Imagen reuso y
archivos usados
entrenamiento
Inicio
entrenamiento
Tesseract
Salida archivo
datos entrenados
Sigue
entrenamiento
Genera archivos
caja para imágenes
nuevas
Fin
Si
Si
No
No
Si
No
Fig 49: Flujo de entrenamiento Tesseract
98
Diagrama de caso de uso de Tess2Text
4.4.1 Preproceso
Las variaciones de estilo en escritura manuscrita, utilizan determinadas
operaciones de preproceso en los atributos de estilo:
Nivel de Ruido: propio de la imagen y/o puede aparecer en proceso de
digitalización.
Entrenamiento
Tess2Habla
Toma foto
como imagen
entrada
Despliega
imagen
existente
Escribe en
canvas
Graba texto
extraído .txt
Despliega
epub existente
Actualiza
aplicación
Convierte
imagen a
texto
Archivo
diccionario
Datos
entrenados
tesseract
Crea mejoras,
actualización y
otros paquetes
<<Extend>
>
<<Include>>
<<Extend>
>
<<Extend>
>
<<Include>
>
<<Include>
>
<<Include>
>
Usuario
Fig 50: Caso de uso Tesseract
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
99
Pendiente o “Slope”: ángulo de línea base del texto manuscrito respecto
a la horizontal.
Inclinación o “Slant”: ángulo del trazo respecto a la vertical.
Altura de la escritura: Es de relevancia la altura relativa entre letras
ascendentes (ej.: b, l, t, etc.), descendentes (ej.: p, q, j, etc) y normales.
Anchura de las letras: El ancho de la escritura varía para una tarea dada.
Grosor del Trazo: los diferentes elementos de escritura generan
diferentes tipos y grosores de trazo
La corrección de “slope” y “slant” son operaciones estándar en sistema de RTM
Ejemplo de preproceso de una imagen de línea de texto manuscrito:
Imagen original (“mil quinientos cuarenta”);
Detección de pendiente de línea base y corrección;
100
Corrección de inclinación vertical del trazo;
Normalización no lineal de tamaño de ascendentes y descendentes
4.4.2 FUSIONAR LINEAS
La fusión de líneas en palabras partidas se inicia con la preparación de las
imágenes para el reconocedor de escritura manuscrita sin contar la extracción de
características. Este preproceso consiste en: binarizar la imagen, corregir la inclinación
horizontal de las palabras, corregir la inclinación vertical de las letras y normalizar la
altura de los descendientes y ascendientes.
Para fusionar dos imágenes deben tener la misma altura; con ese fin se escala la
segunda imagen se mantiene el ratio de aspecto. Si no se corrige la altura se puede
encontrar casos en que las palabras de distintas líneas tienen un tamaño diferente
(Escribà del Arco, 2013).
Luego de fusionar la línea se extrae las características con la herramienta
correspondiente.
4.4.3 SEGMENTACION DE CARACTERES CORTADOS
La tarea es encontrar puntos de segmentación o "cortes", separar las regiones
"entintadas" entre estos puntos y verificar el reconocimiento de estos segmentos,
aislada o combinados con segmentos vecinos. (Jackel L, n.d.)
Se utiliza "cortes tentativos" donde los componentes conectados tienen espacios entre
zona obscurecida.
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
101
4.5 IMPLEMENTACION DE MEJORA DE CARACTERES
4.5.1 Metodología Gradient Vector Glow (GVF) y Modelo Balloon
def GVF(f, mu, ITER, balloon_force=0):
"""
%GVF Calcula el flujo vectorial de gradiente.
% [u,v] = GVF(f, mu, ITER) calcula el
% GVF de un mapa de bordes f. mu es el coeficiente de regularización del GVF
% e ITER es el número de iteraciones que se calcularán.
"""
La función GVF implementa el método de Flujo Vectorial de Gradiente
(Gradient Vector Flow), que extiende la influencia de las fuerzas de borde hacia áreas
homogéneas de la imagen. Este método utiliza un campo vectorial (, ), inicializado
con los gradientes del mapa de bordes (x , ) lo optimiza para minimizar la energía
definida por:
󰇛
(󰇛󰇜󰇛󰇜󰇜
Donde:
: Mapa de bordes de entrada, picamente generado a partir de un filtro como Sobel o
Canny.
µ: Coeficiente de regularización, controla el suavizado del campo vectorial. Valores
más altos generan un campo más suave, pero pueden perder detalles de iteraciones del
algoritmo. Más iteraciones producen un campo más convergente.
Balloon_force: Parámetro opcional para incorporar fuerzas expansivas o contractivas,
ajustando el comportamiento del contorno.
102
Normalización del Mapa de Bordes
[m, n] = f.shape # % Filas, columnas, canales
fmin = np.min(f[:, :])
fmax = np.max(f[:, :])
f = (f - fmin) / (fmax - fmin) # % Normaliza f al rango [0
Es necesaria la normalización del mapa de bordes en el rango [0, 1]
para estabilizar las iteraciones del GVF. La normalización asegura que los valores del
gradiente ( y su magnitud estén en un rango consistente.
f = BoundMirrorExpand(f) # % Se encarga de la condición de frontera
[fx, fy] = np.gradient(f) # % Calcula el gradiente del mapa de bordes
u = fx # % Inicializa el GVF con el gradiente
v = fy # % Inicializa el GVF con el gradiente
SqrMagf = fx * fx + fy * fy # % Magnitud al cuadrado del campo de gradiente
BoundMirrorExpand extiende la matriz de la imagen para manejar condiciones de
frontera, evitando artefactos cuando se calculan gradientes cerca de los bordes.
Se calculan los gradientes (x, y) , que representan las fuerzas iniciales hacia los
bordes.
y se inicializan con estos gradientes,
 mide la intensidad del gradiente, utilizada para calcular la atracción hacia
los bordes.
El gradiente || es esencial en la definición del GVF, ya que actúa como la fuerza de
borde inicial. ||2 pondera el término de fidelidad al borde en la energía total [8]
for i in range(ITER):
u = BoundMirrorEnsure(u)
v = BoundMirrorEnsure(v)
Cada iteración refina el campo vectorial (, ).
BoundMirrorEnsure mantiene valores válidos en los bordes,
garantizando continuidad en las iteraciones.
La iteración sigue un esquema explícito de diferencias finitas, que
minimiza la energía total iterativamente. La convergencia depende del número
de iteraciones y la configuración del coeficiente µ [9]
# Balloon Model: agregar fuerza de expansión o contracción
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
103
normal_force_x = balloon_force * fx / (np.sqrt(fx**2 + fy**2) + 1e-6)
normal_force_y = balloon_force * fy / (np.sqrt(fx**2 + fy**2) + 1e-6)
Balloon Model [10] introduce una fuerza normal al gradiente que expande o
contrae el contorno. Para imágenes con bordes débiles o con ruido, ya que ayuda al
contorno a superar huecos o irregularidades. Las fuerzas normales se calculan como:


Donde:
k: (balloon force) define la intensidad de expansión o contracción.
Difusión y Atracción hacia los Bordes
u = u + mu * 4 * del2(u) - SqrMagf * (u - fx) + normal_force_x
v = v + mu * 4 * del2(v) - SqrMagf * (v - fy) + normal_force_y
Donde:
4 * 2(): Difusión, suaviza el campo vectorial para eliminar ruido y generar
continuidad.
 * ( ) ajusta u hacia el gradiente inicial
Normal_force_x y normal_force_y: controlan la expansión o contracción,
Balloon Model.
La ecuación evolutiva combina difusión, atracción y fuerzas adicionales [8]
[10]:
󰇛󰇜
Compresión del resultado
u = BoundMirrorShrink(u)
v = BoundMirrorShrink(v)
BoundMirrorShrink, reduce el tamaño de la matriz de entrada eliminando
los bordes externos. Esto se logra seleccionando únicamente los elementos interiores
de , excluyendo la última fila y columna:
= [0: − 1, 0: 1]
104
En Código, se eliminan las expansiones de borde aplicadas
previamente, devolviendo el campo vectorial final, listo para aplicarse en un modelo
de contornos activos.
4.5.2 Segmentation ChanVese
# Inicializar la función de nivel (Φ) para el mtodo de conjuntos de nivel
IniLSF = np.ones((img.shape[0], img.shape[1]), img.dtype) # Inicializa con valores positivos
IniLSF[30:80, 30:80] = -1 # Define una región inicial con valores negativos
IniLSF = -IniLSF # Invierte la función de nivel
En la función de nivel ϕ, se representa implícitamente el contorno inicial de la
segmentación, toma valores positivos dentro de la región inicial y negativos fuera [11]
Definición de la Función Matemática Auxiliar
# Función auxiliar para operaciones matemáticas sobre matrices
def mat_math(intput, str):
output = intput
for i in range(img.shape[0]):
for j in range(img.shape[1]):
if str == "atan":
output[i, j] = math.atan(intput[i, j])
if str == "sqrt":
output[i, j] = math.sqrt(intput[i, j])
return output
Calcula la raíz cuadrada y la tangente inversa, para suavizar y regularizar
funciones. Estas operaciones son esenciales para manejar la función de nivel y calcular
la derivada regularizada del contorno
Evolución de contorno
# Método de evolución del contorno utilizando la ecuación de Chan-Vese
def CV(LSF, img, mu, nu, epison, step, show=False):
# Calcular la derivada regularizada y la función Heaviside suavizada
Drc = (epison / math.pi) / (epison * epison + LSF * LSF)
Hea = 0.5 * (1 + (2 / math.pi) * mat_math(LSF / epison, "atan"))
# Calcular gradiente de la función de nivel
Iy, Ix = np.gradient(LSF)
s = mat_math(Ix * Ix + Iy * Iy, "sqrt") # Magnitud del gradiente
Nx = Ix / (s + 0.000001) # Componente X del vector normalizado
Ny = Iy / (s + 0.000001) # Componente Y del vector normalizado
Mxx, Nxx = np.gradient(Nx)
Nyy, Myy = np.gradient(Ny)
cur = Nxx + Nyy # Curvatura media
Implementa la evolución del contorno utilizando una derivada regularizada y
la función Heaviside suavizada (), que asegura estabilidad numérica en el cálculo
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
105
del gradiente y la curvatura. Esto regula la actualización de la función de nivel para
evitar discontinuidades [12] [11].
Términos de energía
# Calcular términos de energía de región
s1 = Hea * img
s2 = (1 - Hea) * img
s3 = 1 - Hea
C1 = s1.sum() / Hea.sum() # Promedio dentro del contorno
C2 = s2.sum() / s3.sum() # Promedio fuera del contorno
CVterm = Drc * (-1 * (img - C1) * (img - C1) + 1 * (img - C2) * (img - C2))
Calcula los términos de energía asociados al modelo de Chan-Vese [12]:
Longitud del contorno: Penaliza curvas complejas, asegurando regularidad (ν).
Penalización: Controla la suavidad global de ϕ(µ).
Energía de la región: Mide la similitud de intensidad dentro y fuera del
contorno basado en los promedios 1 y 2
Evolución Iterativa
# Parámetros de evolución
mu = 1 # Peso del término de suavidad
nu = 0.003 * 255 * 255 # Peso del término de longitud
# num = 20 # Número de iteraciones
epison = 1 # Parámetro de regularización para Heaviside
step = 0.1 # Paso de evolución
LSF = IniLSF # Inicializar la función de nivel
# Evolución iterativa de la función de nivel
info = [LSF]
for i in range(1, num):
LSF = CV(LSF, img, mu, nu, epison, step, False) # Actualizar LSF
info.append(LSF) # Almacenar estado de la evolución
Realiza iterativamente la evolución de ϕ, registrando su estado en cada iteración.
Este proceso converge cuando ϕ se estabiliza y el contorno final segmenta
adecuadamente la imagen [11]
4.6 REQUERIMIENTOS
Para el sistema de Software que crea, configura, entrena y utiliza redes neuronales.
El sistema crea redes neuronales de tipo FeedForward (FF)
106
El sistema define la arquitectura de la red neuronal, con su estructura:
Cantidad de Neuronas en la capa de entrada
Cantidad de Neuronas en la capa de salida
Cantidad de Capas Ocultas
Cantidad de Neuronas en las capas ocultas
El sistema configura el tipo de neurona a utilizar en capas intermedias u
ocultas y en la capa de salida, las funciones de activación de perceptron:
Sigmoide
Tangente Hiperbólica
El sistema para parametrizar el entrenamiento en redes neuronales, utiliza
las variables:
Conjunto de datos para entrenamiento
Taza de aprendizaje (valor por defecto: 0.01)
Épocas o repeticiones.
Error máximo esperado
Precisión mínima esperada
El sistema puede "exportar" una Red Neuronal que almacene su estado (es
decir, los pesos y bias para cada neurona y sus sinapsis).
El sistema puede "importar" una Red Neuronal que haya sido exportada
previamente,.
Las redes neuronales realizan los cálculos para producir una salida, a partir
de un vector de valores de entrada y el estado actual de los pesos de sus
conexiones.
Las redes pueden realizar su entrenamiento y aprendizaje, a partir de la base
de datos que se utilice como entrada.
El sistema tiene estadísticas del rendimiento de la red neuronal durante el
entrenamiento de la red, como las épocas transcurridas, el error y precisión.
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
107
El código del sistema soporta nuevos tipos de red, por ejemplo, Red
Recurrente, LSTM, Neurona Gudermann, entre otros.
Tiene documentación técnica, de funciones y el código implementado en
lenguaje Java.
4.7 DIAGRAMA DE CLASES
La neurona contiene un Axon y Dendritas. El Axon calcula el valor de salida de la
neurona, con el método synapse, que genera el valor de la función de activación de la
neurona. La Dendrite obtiene un valor de entrada, con el método synapse, que usa el
valor almacenado en el axón de la neurona.
De clase Neuron se tienen diferentes subtipos, cada una con el método que
calcula la función de activación para su tipo. Así, la clase Sigmoid, es un tipo de
Neuron, cuyo mtodo “activationFunction” calcula la función Sigmoid 󰇛󰇜
.
Del mismo modo, se implementa la derivada para cada tipo de función de activación.
Para las redes neuronales y creación de neuronas, se usa el patrón de diseño
Factory, con la clase NeuronFactory.
Las redes neuronales tienen la clase abstracta NeuralNetwork, que define un
comportamiento básico y común para otros tipos de redes neuronales y tiene el
conjunto de neuronas que integran la red, distribuidas en capas, de acuerdo con la
arquitectura de red neuronal que se utilice, luego se definen subclases que tienen el
comportamiento particular para cada tipo.
En la clase NeuralNetwork, se define la subclase FeedForwardNetwork, con lo
necesario para una red neuronal tipo FeedForward. Se implementa el método
createLayers, y se definen las capas de la red neuronal, cuyas neuronas en cada capa,
transmiten la información hacia Adelante, la capa siguiente (las dendritas de las
neuronas de la capa i siempre estarán conectadas a los axones de las neuronas de la
capa i-1).
Existe sobrecarga en definición de métodos de creación de redes neuronales para
definir características de la red, como cantidad de neuronas en la capa de entrada, en
108
la capa de salida, de capas ocultas, tipo de red, tipo de neuronas a usar, y otros
parámetros para la red.
La clase NeuralNetworkFactory implementa los métodos para realizar la
exportación y la importación de las redes neuronales, hacia y desde archivos xml .
La interfaz DataSet especifica el contrato para implementación que usa la API
para lectura de datos que se usan en entrenamiento y para las pruebas de la red
neuronal. Se usa una implementación del DataSet para transferir datos que serán
utilizados por la red neuronal ya entrenada.
|
0..*
neurons
0..*
<<Java Class>>
FeedForwardNetwork
network.impl
<<Java Class>>
NeuralNetworkFactory
network
<<Java Class>>
NeuralNetwork
network
<<Java Interface>>
Data Set
network
<<Java Class>>
Neuron
Network.neuron
<<Java Class>>
Dendrite
Network.neuron.synapse
<<Java Class>>
Axon
Network.neuron.synapse
<<Java Class>>
NeuronFactory
Network.neuron
<<Java Class>>
Sigmoid
Network.neuron.impl
<<Java Class>>
Perceptron
Network.neuron.impl
<<Java Class>>
Sensor
Network.neuron.impl
<<Java Enumeration>>
NeuronType
Network.utils.type
<<Java Enumeration>>
Networktype
network.utils.types
dendritas
axon
0..1
axon
0..1
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
109
En las imágenes de caracteres de base de datos documentales, de entrenamiento y
prueba, se genera la interfaz DataSet, para que ser utilice por los métodos del proceso.
4.8 PROCESAMIENTO GENERAL DE IMAGENES
4.8.1 Reconocimiento de texto en PDF
El reconocimiento requiere un método para la conversión de tipo de data MultipartFile
(que es el tipo de dato que se envía desde la vista), el siguiente código realiza esto.
El método para el reconocimiento de texto de cada página del pdf, utiliza un tipo de
dato PDDocument que representa en memoria un PDF, se asigna File que es PDF convertido.
<<Java Package>>
network
<<Java Interface>>
DataSet
network
<<Java Package>>
daasets
<<Java Class>>
MNISTDataSet
datasets
minBatchElement
0..1
<<Java Class>>
MNISTImage
utils
Fig 52: Diagrama de Clases de Sistema
110
El método que realiza el reconocimiento, usa PDFRenderer en memoria y realiza las
configuraciones del tesseract para iniciar el reconocimiento.
El “forrecorre cada página del PDF y el pdfRenderer obtiene como imagen cada
página, para realizar el reconocimiento de texto usando el mtodo “doOR” de tesseract, se
almacena en StringBuilder para retornar todo el reconocimiento (cada hoja se separa con una
línea horizontal).
4.9 IMPLEMENTACIÓN DE COMPONENTES ICR
Para mejorar el reconocimiento de texto se usa componentes que se aplican a la
unidad documental que es la cara de una hoja.
4.9.1 Actividades de preparación de Ambiente
La construcción de componentes requieren las actividades siguientes:
Desarrollo de Algoritmos: De adelgazamiento
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
111
Despliegue de Proyecto en Heroku, Anexo B
Adecuación de ejecutables Tesseract para Linux, Anexo C
Desarrollo de BuildPack personalizado, Anexo D
Inicio de Tensorflow en java, Anexo E
Instalación de dl4j en Spring Boot, Anexo F
4.9.2 Resultados de prueba de actividades de preparación
Resultado de ejecución en Heroku funcional:
Utilizando el enlace https://ucps.herokuapp.com/ :
Resultado de TensorFlow:
El siguiente codigo usa todo lo planteado en TensorFlow:
El resultado de la operación se muestra:
112
Resultado de ejecución DL4J
Se ejecuta de forma local los resultados se muestran de la siguiente forma:
Primero se creará una jerarquía
Después DL4J nos muestra los recursos que se posee para el procesamiento:
Luego podemos observar el proceso de entrenamiento:
4.9.3 Arquitectura para componentes de mejora
Es una arquitectura web como servicio para reutilizar en diversas situaciones
antes de la aplicación de ICR base.
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
113
En el despliegue se tienen componentes de código para:
1. Los paquetes principales (com.sistema.ucps): Empaqueta las funcionalidades
principales de un servidor.
2. Paquete opencv(com.api.opencv): Tiene las funcionalidades de procesamiento y
modificación de imágenes.
3. Paquete tesseract(com.api.tesseract): tiene las clases para el reconocimiento de
texto en imágenes.
4. Carpeta estática(src-main-resources-static): Tiene los componentes públicos que
se exponen al cliente:
114
4.9.4 Planteamiento de sistema
En el desarrollo del sistema en java, se usa el framework de spring boot:
Permite integración múltiple para ser escalable con otros proyectos.
Tecnología para un sistema más accesible a cambios o mejoras.
Seguridad.
Framework con mejora continua
.
Clase Principal
El modelo de cliente-servidor inicia su ejecución en esta clase con la anotación
SpringBootAplication como clase principal en el entorno de ejecución. Su función es
inicializar el proceso principal.
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
115
Clase Controlador
Esta clase para gestión de procedimientos entre la vista y el modelo. Con anotaciones
para determinar las rutas del sistema así como el tipo de solicitud y las respuestas representadas
en plantillas html.
Vista Usando Thymeleaf
Esta librería implementa plantillas y usa las vistas de forma dinámica e interactiva, las
funciones facilitan exposición de información del controlador.
116
4.9.5 Mejoramiento de Imagen Pre-proceso
Clase Principal PreProcessing
Se implementa la clase principal para el pre-procesamiento, de este modo al instanciar esta
clase se accede a todos los métodos y funcionalidades enfocadas a este preprocesamiento de
imágenes.
Planteamiento de la corrección de ángulo
OpenCV es una librería de código abierto, se utiliza en el procesamiento de imágenes
en tiempo real.
La corrección del ángulo necesita que la imagen sea de texto, además es necesario que
esta imagen no esté invertida o de costado, ya que el preprocesamiento busca enderezar la
imagen antes de reconocer el texto, de ser así, se enderezará la imagen pero el texto podría
estar volteado.
A continuación una imagen de entrada:
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
117
Se trazan líneas para poder determinar el grado de inclinación de imagen, con estos
datos Opencv puede calcular el grado de inclinación y, aplicando la rotación podemos
enderezar la imagen.
La imagen de salida estará girada de tal modo que el texto esté correctamente
alineado.
Método de corrección de ángulo
Este método recibe la ubicación de la imagen que procesa, primero crea un Mat el cual
es una clase de Opencv, desde la cual se realiza la gestión de la imagen, luego la imagen se
convierte en una escala de grises usando “COLOR_BGR2GRAY”, se realiza la detección del
ángulo, una parte importante es la determinación de la rotación mediante el ángulo, esto se
realiza mediante un If Else que determina si se debe girar a la izquierda o a la derecha, usando
el mtodo “getRotationMatrix2D”, se realiza la rotación para colocar todos los cambios en un
objeto Mat y retornar un BufferedImage que en un paso anterior obtuvo el valor de Mat
.
118
Corrección de la perspectiva
La transformación de perspectiva es una función para alinear la imagen correctamente.
Modifica la imagen de forma directa después de aplicar la transformación de perspectiva.
Un ejemplo, es transformar la página en la tabla para que aparezca como una vista superior
de la imagen.
La imagen representativa de la corrección a aplicar:
La imagen seleccionada pasa por dos técnicas, la primera se enfoca a la determinación
del contorno y las esquinas.
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
119
La segunda técnica corrige la perspectiva en base a estos 4 puntos. La solución
muestra una imagen centrada y recortada.
Corrección de perspectiva
El método de corrección de perspectiva recibe la ubicación de la imagen a procesar, se
realiza una lectura y luego crea un objeto Mat de la imagen, se calcula el contorno de la imagen
y se encuentra los puntos del área a procesar, después se realiza un pintado en forma de círculo
de los mismos y se corrige la perspectiva en base al área otorgada, se convierte en imagen y
se retorna.
120
4.9.6 Reconocimiento inteligente de caracteres
Para el desarrollo de este planteamiento es necesario usar la IA(Artificial Intelligence)
con redes neuronales para determinar el resultado de los caracteres.
Luego hay tipos de manuscritos, y es importante que nuestra aplicación tenga la
capacidad de aprendizaje de tal manera que pueda reconocer palabras desde distintas fuentes
y caligrafías.
El modelo es el deep-learning para un aprendizaje supervisado en las imágenes de
entrada lo cual en cada procesamiento o iteración se puede ir definiendo lo caracteres
contenidos para luego utilizarlos a futuro como referencia:
Para el entorno de desarrollo el lenguaje Python y java. Los pasos de reconocimiento es el
procesamiento de la imagen, que implementa métodos de segmentación y se extrae los campos
obligatorios de la entrada:
Para el método de reconocimiento se usa el concepto de correlación, se prepara una
biblioteca que contiene las muestras de todo tipo de caracteres diferentes que necesitan ser
reconocidos. La biblioteca, tiene imágenes para comparar con todas las imágenes que puedan
Imagen de
entrada
Preprocesamiento
de imagen
Segmentación de
imagen
Reconocimiento
de texto
Entrada de datos
en Base de datos
Fig 53: Proceso de reconocomiento
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
121
tener similitud máxima que es el valor más alto de correlación, se reconoce como la
coincidencia correcta y se escribe para base de datos. Para los caracteres escritos a mano y
marcas de verificación, se usa la red neuronal para el reconocimiento
4.9.7 ICR usando Deep Learning
Para el reconocimiento de caracteres es importante estandarizar las imágenes en varios
sentidos. Primero es un tamaño predeterminado (que en este caso será 28x28). Luego, el patrón
del manuscrito, se transforman a escala de grises (las imágenes RGB usan tres capas y la escala
de grises solo una). Es necesario invertir los colores para que el fondo sea negro y tengan el
valor de ‘0’ y el resto otro valor. La imagen preparada Mij servirá como entrada.
122
El preprocesamiento genera entrada para Deep Learning o aprendizaje profundo,
éste se define como un algoritmo automático estructurado o jerárquico que emula el
aprendizaje humano con el fin de obtener conocimiento. No requiere de reglas programadas
previamente, el propio sistema es capaz de «aprender» por sí mismo luego de una fase previa
de entrenamiento
La implementación del código utiliza la librería de DL4J en reemplazo de
Tensorflow, debido a que DL4J es mejor como api java y Tensorflow es inestable para java.
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
123
4.9.8 Reconocimiento de texto escrito a mano con Tensor Flow
Sistema de reconocimiento de texto escrito a mano (HTR) implementado con Tensor
Flow (TF) y entrenado en el conjunto de datos HTR fuera de línea de IAM. El modelo toma
imágenes de palabras individuales o líneas de texto (varias palabras) como entrada y genera el
texto reconocido. El 75% de las palabras del conjunto de validación se reconocen
correctamente y la tasa de error de caracteres es de alrededor del 10%.
En directorio src, se ejecuta el código de inferencia:
Ejecutar python main.py para ejecutar el modelo con imagen de una palabra.
Ejecutar python main.py --img_file ../data/line.png para ejecutar el modelo con ejemplo de
una imagen de una línea de texto. Las imágenes de entrada y las salidas esperadas usando el
modelo de línea de texto:
Resultado
python main.py --img_file ../data/line.png
124
4.9.9 Base de datos para el entrenamiento y prueba
La base de datos “mnist_png proporciona 60000 imágenes para realizar el
entrenamiento, se usa las imágenes formateadas de los caracteres numéricos en el modelo
desarrollado.
El pre-procesamiento realizado a las imágenes se inicia con el reconocimiento de los
caracteres, luego el binarizado para poder tener la imagen en blanco y negro, lo siguiente es
invertir los colores y tener la imagen lista tambien el tamaño de la imagen de 28 x 28 (la
imagenes entrenadas presentan este tamaño).
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
125
Resultado
La imagen de entrada presenta los caracteres que se van a reconocer, estos caracteres
son reconocidos y recortados.
El recorte es de cada carácter, el formateo del tamaño para una dimensión de 28 x 28
y ser usadas en el modelo.
126
El reconocimiento hace uso del entrenamiento ya realizado y almacenado como un
archivo, para obtener el archivo y almacenarlo para su uso en la predicción, se tiene el siguiente
código:.
Ejecución del reconocimiento de caracteres:
El reconocimiento es exitoso, se llega a reconocer cada uno de los caracteres de la
imagen de entrada.
salida0 : 2
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
127
salida1 : 3
salida2 : 4
salida3 : 7
salida4 : 0
salida5 : 5
4.9.10 Redes neuronales Convolucionales y Recurrentes para la
segmentación.
a) Modelo de segmentación
El modelo está compuesto por capas convolucionales para reducir e identificar
características relevantes de cada imagen, luego estas pasan por las redes
neuronales recurrentes LSTM para identificar los puntos de corte en la secuencia
y finalmente ajustar la salida según los objetivos establecidos:
b) Procesos de extracción y estandarización de datos ETL
Proceso que ayuda con la entrada y salida de datos en la red neuronal. para ello es
necesario establecer parámetros de tamaño y cantidad de los datos.
Proceso de lectura:
128
Proceso de estandarización:
c) Construir modelo de red neuronal
Luego del modelo conceptual se implementa así:
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
129
4.9.11 Modelo de red neuronal para la segmentación
El desarrollo de la red neuronal para la segmentación consta de tres etapas:
a) Compuesto por las redes convolucionales que extraen las características
más resaltantes de la imagen y la exponen en la siguiente capa.
b) Las redes neuronales recurrentes, mas específicamente las Long short-term
memory (LSTM) recepcionan las imágenes de la capa anterior aplanadas para
almacenar sus características respecto a la anterior neurona y optimizar el aprendizaje.
c) Es la salida, donde se define si la imagen procesada es un punto de corte o
no.
130
Representación de modelo en Python
El modelo implementado se visualiza de la siguiente manera:
El código es:
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
131
4.10 POST-PROCESO
La precisión de ICR se puede mejorar si la salida es restringida por un léxico:
una lista de palabras que ocurren en un documento. Esto es, por ejemplo, todas las
palabras en el idioma español, o un léxico más técnico para un campo especifico. Esta
técnica puede ser problemática si el documento contiene palabras que no están en el
léxico, como los nombres propios. Tesseract utiliza su diccionario para influir en el
paso de segmentación de caracteres, para mejorar la precision.
4.10.1 IMPLEMENTACIÓN DE ALGORITMO DE PETER NORVIG
La lógica de este algoritmo y en codigo python, se considera los siguientes
componentes:
a) Importación y descarga de corpus
import nltk
from collections import Counter
import re
# Descarga del corpus de Cess_esp
nltk.download('cess_esp')
from nltk.corpus import cess_esp
b) Formateo de texto
def palabras(texto):
return re.findall(r'\w+', texto.lower())
c) Preparación de Corpus
# Unión de todos los textos del corpus de Cess_esp en un solo string
132
texto_corpus = ' '.join([' '.join(sent) for sent in cess_esp.sents()])
# Construcción de un diccionario de frecuencias de palabras
WORD_COUNTS = Counter(palabras(texto_corpus))
d) Formateo de Texto
def probabilidad(palabra, N=sum(WORD_COUNTS.values())):
"Probabilidad de la palabra."
return WORD_COUNTS[palabra] / N
def correcciones(palabra):
"Generar todas las correcciones posibles para la palabra."
return (conocido([palabra]) or conocido(ediciones1(palabra)) or
conocido(ediciones2(palabra)) or [palabra])
def conocido(palabras):
"Filtrar las palabras que están en el diccionario."
return set(w for w in palabras if w in WORD_COUNTS)
e) Lógica de algoritmo Peter Norvig
def ediciones1(palabra):
"Generar ediciones a una distancia de la palabra."
letras = 'abcdefghijklmnopqrstuvwxyzáéíóúñ'
divisiones = [(palabra[:i], palabra[i:]) for i in range(len(palabra) + 1)]
# [('', 'gato'), ('g', 'ato'), ('ga', 'to'), ('gat', 'o'), ('gato', '')]
eliminaciones = [L + R[1:] for L, R in divisiones if R]
# eliminaciones = [L + R[1:] for L, R in divisiones if R]
transposiciones = [L + R[1] + R[0] + R[2:] for L, R in divisiones if len(R)>1]
# ['agto', 'gtao', 'gaot']
reemplazos = [L + c + R[1:] for L, R in divisiones if R for c in letras]
# ['aato', 'bato', ..., 'zato', 'áato', 'éato', ..., 'ñato', 'gato', 'gcto', ..., 'gzto', 'gáto',
'géto', ..., 'gñto', ...]
inserciones = [L + c + R for L, R in divisiones for c in letras]
# ['agato', 'bgato', ..., 'zgato', 'ágato', 'égato', ..., 'ñgato', 'gaato', 'gbato', ...,
'gzato', 'gáato', 'géato', ..., 'gñato', ...]
return set(eliminaciones + transposiciones + reemplazos + inserciones)
def ediciones2(palabra):
"Generar ediciones a dos distancias de la palabra."
return (e2 for e1 in ediciones1(palabra) for e2 in ediciones1(e1))
def corregir(palabra):
"Corregir la palabra mal escrita."
return max(correcciones(palabra), key=probabilidad)
f) Resultados generados
4.11 IMPLEMENTACIÓN DE GESTIÓN DOCUMENTAL
Se considera dos etapas de gestión documental, la primera referente para
completar las palabras clave de búsqueda de documentación histórica y, la segunda en
la que se considera operaciones de digitalización.
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
133
4.11.1 Determinar palabras clave para búsqueda documental
Usualmente la documentación histórica no está etiquetada con palabras clave
para búsqueda posterior, las que se pueden determinar de manera manual y automática,
en éste último caso se utiliza el algoritmo TF-IDF, que tiene las actividades de
identificación de palabras (tokenización), cálculo de frecuencia de término (TF),
cálculo de frecuencia de documento inverso, cálculo de TF-IDF, construcción de árbol
AVL(Adelson-Velsky y Landis)
c) Tokenización, proceso de dividir el texto en unidades lingüísticas más
pequeñas, generalmente palabras o frases, conocidas como tokens:
def tokenize(self, text):
tokens = re.findall(r'\b\w+\b', text.lower())
return [token for token in tokens if token not in STOP_WORDS and not token.isdigit()]
Es una expresión regular para encontrar todas las palabras en el texto, luego
se convierte el texto en minúsculas para asegurar la consistencia y, se filtran las
palabras vacías (stop words) y los dígitos.
d) Cálculo de TF (Term Frequency), para medir cuántas veces aparece un
término en un documento, normalizado por el número total de términos en
el documento:
def calculate_tf(self, tokens):
tf = defaultdict(float)
token_count = len(tokens)
for token in tokens:
tf[token] += 1.0 / token_count
return tf
Conteo de la frecuencia de cada token en el documento. Y se normaliza la
frecuencia dividiendo por el número total de tokens.
e) Cálculo de IDF (Inverse Document Frequency) es la frecuencia inversa de
documento (IDF), mide la importancia de un término en el corpus
completo, penalizando los términos que son comunes en muchos
documentos
def calculate_idf(self, corpus):
idf = defaultdict(float)
doc_count = len(corpus)
for document in corpus:
tokens = set(self.tokenize(document))
for token in tokens:
134
idf[token] += 1.0
for token in idf:
idf[token] = math.log(doc_count / (1.0 + idf[token]))
return idf
f) Calculo TF-IDF, es un valor que combina TF e IDF para proporcionar una
medida de importancia de un término en un documento dentro de un
corpus:
def calculate_tfidf(self, tf, idf):
tfidf = {term: tf[term] * idf.get(term, 0.0) for term in tf}
return tfidf
4.11.2 Proceso de digitalización
El sistema de gestión documental orientado a la documentación física, para un
mejor control y tener un registro histórico de los documentos, redefine los procesos de
Digitalización, Control de calidad, edicion de imagen, archivamiento digital y firma
digital:
Para la configuración se considera los siguientes datos.
- Configuración del Servidor (IP, puerto)
- Configuración del scanner
- Empresa
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
135
- Categorías
- Tipos de documentos y agrupamientos (en caso de tenerlos)
- Metadata por tipo de documento
4.11.3 Actividad de Digitalización
Se inicia con el acopio físico documental por lotes cuantificados según capacidad de
línea de producción y política de aprovisionamiento de la entidad.
a) Predigitalización
Conteo de la cantidad de hojas del documento, determianr el número de hojas por
agrupamiento y detalles de documento. Los documentos se van agrupando en lotes de
documentos para ser escaneados, por tanto de acuerdo al proceso no es necesario separar
por formato el documento, evitando así el desorden.
b) Escaneo
Se presenta una gama de mixtura de documentos con diferentes tipos de hojas, ya
sea el tamaño, grosor entre otros. Se visualizan los documentos escaneados
mediante conjunto de imágenes pequeñas y el último documento digitalizado en un
formato mas grande, de esta manera se visualiza lo que esta digitalizando y a la vez
los últimos documentos digitalizados
Se indica si el documento está distribuido en varios lotes o no. Posteriormente se
ingresa los datos del o de los documentos contenidos en el lote. La visualización de
documentos durante escaneo:
136
En el tipo de documento por agrupamiento, se chequea la pestaña de agrupamiento,
seguidamente se muestra los agrupamientos relacionados al tipo de documento, para
ingresar el numero de hojas que contendrá cada agrupamiento.
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
137
El formato de almacenamiento es pdf.
- El documento se conformará por varios pdf
- Cada pdf tiene como limite 12 MB
La limpieza considera las siguientes funcionalidades:
- Alineación de documentos
- Eliminación de bordes negros (porcentaje de borrado externo)
- Eliminación de hojas en blanco
c) Control de Calidad
138
La revisión se realiza por documento, en este punto un documento puede ser
APROBADO ó INCOMPLETO, o parte de él, puede ser rechazado o a edición.
Paginas rechazadas:
Las páginas de un documento pueden ser rechazados en caso de presentar páginas:
- Cortadas
- Deformadas (hojas jaladas)
- Falta nitidez (resolución)
Paginas a edición
Las páginas enviadas a mejorar imagen es por los siguientes casos:
- De cabeza (girar 90ª)
- Muy oscuras o claras (brillo, contraste)
- Páginas que requieren pasar de a colores a escala de grises o blanco y negro
- Brillo (slider +-)
- Contraste (slider si/no)
- Cortar exterior o sectores
- Borrar
- Full screen
- Encuadrar imagen en un marco
4.11.4 Actividad de Archivamiento
Ingreso/Actualización de metadata
Se ingresa metadata a los documentos que requieran metadata en sus respectivos
detalles. Se realiza el filtrado de documentos, con los criterios de búsqueda: fecha, empresa,
tipo de documento y código del documento. Ordenado por fechas en forma descendente.
Seguidamente se presiona sobre un documento, de tener solo un detalle se visualizará la
pantalla de captura de metadata. En caso de tener varios detalles sin metadata se mostrará
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
139
una pantalla intermedia en la cual se paginará los detalles para seleccionar uno e ingresar la
metadata.
Registro de Metadata
Se realiza la primera vez que se registra la metadata, por detalle. Dado un
documento se consulta su detalle. Por cada detalle se hace el registro de la metadata. Los
valores iniciales que tiene un detalle es:
CAMPONUEVO = F
METADATACOMPLETA = F
Una vez que se procede a registrar la metadata estos campos cambian sus estados.
Para mostrar la información de la metadata se lee de la Base de datos el archivo XML, se usa
parser lectura xml de información:
4.11.5 Modelo Relacional
La base de datos considera esencialmente el tipo de documento, sus detalles
y, la opción de agrupamiento:
XML
140
4.11.6 Arquitectura del Sistema de Gestión Documental
a) Presentación:Bajo patrón de diseño Modelo-Vista-Controlador:
Vistas: Páginas web JSP con tag libraries de SpringMVC que despliegan
formularios al usuario.
Controladores: Controladores de SpringMVC, que reciben y procesan las
solicitudes del usuario.
Modelos: objetos reutilizados de la capa de modelo de dominio.
b) Lógica de negocio:
Capa de business: Componentes encargados de ejecutar procesos complejos de la
lógica de negocio, que interactúan con los objetos del modelo de dominio.
Capa de servicio: Componentes con la estructura conceptual que representa el
dominio de la aplicación, en la forma de JavaBeans tradicionales.
c) Dominio:
Capa de datos: Capa de implementación de acceso a datos: ORM Spring
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
141
d) CLIENTE
Sistema operativo
Multiplataforma
Browser
Mozilla, Google chrome, Edge
Tecnologias utilizadas
applet,jsp, jquery
Lenguajes utilizados
javascript
e) SERVIDOR
Sistema operativo
Multiplataforma
Servidor de aplicación
Apache Tomcat 7.0
Lenguajes utilizados
J2EE
Frameworks Utilizados
Spring MVC,
f) SERVIDOR DE BASE DE DATOS
142
Sistema operativo
Multiplataforma
Gestor de base de datos
postgreSQL
4.11.7 Despliegue del Sistema de Gestión Documental
Se utiliza el modelo vista controlador, para el cual se considera los components de
despliegue:
En el entorno de programación del sistema, para entorno gráfico, de servidores, entre otros,
se utiliza el siguiente cuadro de especificación.
Tecnología utilizada
Descripción
Lenguaje programacion JAVA
Lenguaje de programación de propósito general , concurrente,
orientado a objetos que fue diseñado específicamente para
tener tan pocas dependencias de implementación como fuera
posible.
Netbeans
Entorno para el desarrollo de aplicaciones para el lenguaje
java, soporta el desarrollo de J2SE, web, EJB y aplicaciones
móviles.
Postgres
Gestor de bases de datos relacional orientado a objetos y
libre, publicado bajo la licencia PostgreSQL.
Servidor Tomcat Apache
Tomcat implementa las especificaciones de los servlets y de
JavaServer Pages (JSP) de Oracle Corporation
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
143
Navegador Mozilla Firefox
Es un navegador web libre y de código abierto8 desarrollado
que guarda las versiones anteriores de sus navegadores para el
uso de applets en el módulo de digitalización
4.11.8 Diagrama General de Casos de Uso
Se considera el caso de uso general en el que se observa principalmente el
rol digitador y las actividades del mismo:
Y actores complementarios como Editor, Archivador, Validador y Fedatario:
144
4.11.9 Diseño de Interfaces Mockups
Para el diseño de interfaz para los módulos de digitalización y archivamiento,
coherente con las especificaciones y casos de uso se genera los mockups:
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
145
Digitalización
Archivamiento:
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
147
5 Presentacn, Análisis e Interpretación de
resultados
5.1 RESULTADOS DE SEGMENTACION DE CARACTERES INCOMPLETOS
La implementación, ejecución y pruebas del algoritmo gradient vector flow (GVF)
+ balloom genera resultados de mejora en la segmentación de caracteres, esta
mejora depende de los parámetros aplicados al algoritmo:
En esta segmentación se incluye el delineamiento de la forma del caracter con mas
claridad y que mejora significativamente el reconocimiento de la imagen. La
prueba en documentos textuales genera:
5.2 RECONOCIMIENTO DESPLIEGUE DE PROYECTO EN NUBE (HEROKU)
Para desplegar el proyecto se crea una cuenta en Heroku, para gestionar y operar con
la consola o como interfaz.
148
Se instala la app-desktop para subir el proyecto desde dispositivo:
5.3 PRUEBA DE CLASIFICACION
Las pruebas se realizan con los métodos de clasificación del proyecto, y los
resultados a cuantificar el desempeño y precisión de los clasificadores.
Se muestra un diagrama de cajas y bigotes, el cual contiene las cinco representaciones
de los métodos de clasificación que se utilizan, la nea roja representa la media del
conjunto de datos representado por la matriz Em , los bordes de las cajas representan
el percentil 25 y 75 respectivamente; el percentil es una medida de posición no central
que muestra el valor de la variable por debajo de la cual se encuentra un porcentaje
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
149
dado de muestras en un conjunto, además los bigotes se extienden hasta los datos más
extremos o datos atípicos. En el eje (Y) se tiene al error de estimación de clasificación
que se calculó para cada conjunto etiquetado en escala porcentual y finalmente en el
eje (X) esta cada método de clasificación utilizado.
5.4 PRUEBA DE DESEMPEÑO DE LOS MÉTODOS PROPUESTOS BASADOS
EN MATRICES KERNEL
Para verificar el desempeño de los métodos para el cálculo de los factores de
ponderación se realizó una prueba de precisión que consiste en aplicar reiteradas veces
el método con los mismos porcentajes de error para esto fue necesario realizar 100
iteraciones. Se muestra todos los métodos de combinación probados y se incluye al
método de combinación basado en la media ponderada, este hace uso de los factores
de ponderación calculados por medio del enfoque de matrices kernel. Se puede
apreciar que el método de la media ponderada presenta en promedio un error de
estimación de clasificación considerablemente menor comparado con los resultados de
los demás métodos.
150
5.5 RESULTADOS
5.5.1 ESPERADOS
La expectative del Proyecto es el reconocimiento de un texto como el de la imagen:
5.5.2 Prueba y reconocimiento
Una prueba se realizó con imagen deformada.
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
151
El reconocimiento de la imagen original llegó al 33 por ciento. Por otro lado vemos
que la corrección de la perspectiva ayudó a reconocer completamente el texto mejorando así
el porcentaje al 92 por ciento.
Resultado del reconocimiento original:
Apellidos Y Nombres 2
\ Tipo de ººwſiſi': -
(Fec &e Ie pe
Fecna de 1a rpuje
est-º;;,"ctſ;º's'gſi*‘
pe
o a
Cg de pbnto o
Emiso' © eec
p
Porcentaje= 0.33064514
Resultado del reconocimiento al aplicar corrección de la perspectiva.
Apellidos y Nombres 0 Razón Social
Tipo de Contribuyente
152
Fecha de Inscripción
Fecha de Inicio de Actividades
Estado del Contribuyente
Dependencia SUNAT
Condición de Domicilio Fiscal
Motivo de Atta
Emisor electrónico desde
Comprobantes electrónicos
EI E maaa
Porcentaje= 0.92134833
5.5.3 Resultado de despliegue
Para observar nuestra página se encuentra el siguiente enlace
https://ucps.herokuapp.com:
5.5.4 Resultados Generales
Se obtienem los resultados siguientes:
a) Se utilizó redes neuronales, que pueden ser escalables y reutilizables.y se
realizó proyecto Java, y archivo .jar. En la red Neuronal cuyo objetivo es el
reconocimiento de caracteres a mano se realizó el entrenamiento definido,
utilizando la información de la base de datos de dígitos escritos a mano
MNIST, para medir el desempeño de la red implementada
b) Se realizó el entrenamiento de la red neuronal con la configuración:
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
153
Capas ocultas: 3
Cantidad de neuronas en capas ocultas: 28
Tipo de neurona utilizada: Sigmoid
Taza de aprendizaje: 0.1
Épocas de entrenamiento: 100
Para evaluar los resultados del sistema se considera: la tasa de error de palabras
o “word error rate” (WER) y, la tasa de error de clasificación. Con la primera se evalúa
la fase de reconocimiento y, con la segunda la propia fase de categorización de frases
reconocidas
La experimentación se realizó con las bases de datos CENPARMI y MNIST.
5.5.5 EVALUACION CUANTITATIVA
La evaluación de los resultados de reconocimiento consiste básicamente en
determinar el grado de reconocimiento alcanzado en cada una de las frases y verificar
si se interpreta su contenido sin ambigüedades, para clasificar con un nimo riesgo
error. Según el grado de comprensión para cada una de estas frases, se definen tres
grupos:
Tipo 1: frases correctamente reconocidas. Incluye frases no totalmente
reconocidas (fallos en el reconocimiento de algunas palabras), con sentido semántico,
sin ambigüedades.
Tipo 2: Con pocos fallos en el reconocimiento de palabras, conservando sintáxis
coherente y tienen sentido semántico; con interpretaciones diferentes a la original
(cambio semántica) y clasificación errónea.
Tipo 3: Con número de errores que producen desorden en estructura sintáctica
(sin sentido) y, sin clasificación
154
Ejemplos de frases de “Tipo 1” correctamente bien reconocidas:
Ejemplo de frase de “Tipo 2” con pocos fallos, dan lugar a interpretaciones
diferentes:
Ejemplo de frase de “Tipo 3” completamente mal reconocida
5.5.6 EVALUACION DE RENDIMIENTO
Se consideran tres índices de rendimiento diferentes:
Tasa de reconocimiento, la proporción de caracteres correctamente
clasificados.
Tasa de rechazo, proporción de caracteres que el sistema no pudo
reconocer. con caracteres marcados por el sistema ICR, rastreables para la
corrección manual.
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
155
Tasa de error, proporción de caracteres clasificados erróneamente, son
caracteres mal clasificados no detectados, es necesaria inspección manual
para detectar y corregir estos errores.
5.5.7 Reconocimiento de imagen
156
5.5.8 Porcentaje de reconocimiento
i. Nitido (1.0 - 0.9)
ii. Regularmente nítido (0.89 - 0.75)
iii. Poco nítido (0.74 - 0.5)
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
157
6 Propuesta de Mejora
De los objetivos propuestos referentes al trabajo:
a) La mejora de resultados en el proceso de reconocimiento de caracteres desde
la documentación histórica en la que se tiene información textual deteriorada,
la propuesta es utilizar algoritmos en las etapas de pre y post proceso:
Pre-proceso, caracteres rotos (2.19, Pág. 55), con este algoritmo propuesto
en lectura de la referencia, se implementa y se logra una mejora
significative en el reconocimiento de caracteres dañados.
Post-proceso, análisis semántico (4.9, Pág. 113), con este algoritmo luego
de un análisis semántico y con un diccionario del lenguaje español se
identifica y completa la palabra que hasta ésta etapa no se interpreta como
tal.
b) En el proceso de gestión documental con la finalidad de recuperación adecuada
en contenido y forma se realiza:
Diseño de proceso de acopio y captura de información documental histórica
con las consideraciones de equipo físico adecuado con fines de
conservación de fuentes de origen
El indexamiento se realiza con metadatos según tipo de documento y para
metadatos multivaluados utilizando un algoritmo que identifica rminos
llave con fines de consulta exhaustiva.
La conformación de documento se realiza previa identificación de
document considerando de segmentos de pagina, paginas, agrupamiento de
paginas según estructura típicamente reconocidas.
La consulta y recuperación del documento se realiza con expresiones
utilizando valores de metadatos, operadores lógicos para búsqueda
específica y aproximada.
158
c) Arquitectura de Gestión documental eficiente: El entorno e implementación de
la solución es:
d) Arquitectura de componentes de Gestión documental con requerimientos de
distribución, seguridad y valor, los que se integran en la tecnología Blockchain:
Capa de Seguridad Marco de Trabajo SPRING
Distribucion / API
Reporte y Est
Almacenamiento
Motor de Metadato y catálogo
Motor
Búsqueda
Corazón
Motor de flujo de Trabajo
Interfaz Usuario
Web
WebDAV
MS Office
Mobile
Tablet
CMIS
WebService
RestAPI
SDK Net
Seguridad SPRING
Administrador Seguridad Conectable
Enlace de servicios de componentes
Configuración SPRING
Autenticación
extensible
LDAP
DBMS
Documentos
Carpetas
Registros
Correos
JBPM
BPM Conectable
Hibernate / JPA
Extractores
de texto
extensible
Base
Datos
Almacén de datos de
sistema de Archivos
Almacén de datos
Conectables
Lucene
Extractor Metadato
extensible
Eventos
Conectables
Motor ICR
Lector código
barras
Estados
Hibernate
Reportes
Jasper
Analisador de Antivirus
Fig 54: Arquitectura de Gestión documental eficiente
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
159
Fig 55: Sistema Blockchain para transacciones de Gestion documental
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
161
7 Conclusiones
En el reconocimiento se utilizan léxicos cerrados. El léxico contiene sólo las
entradas de las palabras que aparecen en el conjunto sobre el que se realiza el
reconocimiento. .
El preprocesamiento UPV y la estimación PCA mejora la tasas de error,
entonces, los resultados sobre las características de intensidad son mejores que los
resultados sobre las características de Sobel(Röder, 2009)
El uso de las redes ANNs, permite una arquitectura muy simple escalando con
capas con diferente comportamiento.
Se tienen diversas topologías con funciones específicas y en la combinación de
ellas surge la adaptabilidad del algoritmo
Una RNN clásica opera de forma iterativa sobre una secuencia de elementos que
guardan una relación a lo largo de una única dimensión, generalmente el tiempo
Se usa metodología para corregir las palabras partidas que afectan la tarea de
clasificación. Se usa un método de detección de palabras partidas y luego
clasificadores
Las principales ventajas de esta herramienta son que permite crear modelos con
distintas configuraciones, la selección automática de la mejor combinación y la
muestra de resultados en distintas métricas. Además, contempla la opción de cross
validation, que crea diferentes particiones para crear varios modelos y hacer cálculos
más robustos.
El redimensionamiento de la matriz para trabajar con imágenes más reducidas
permite ahorro de tiempo y complejidad en la creación de los modelos.
Con el método basado en la reducción de dimensionalidad y la selección de
características se obtiene un acierto cercano al 100% en el reconocimiento de los
caracteres escritos a mano. Aplicando Random Forest en el conjunto original sin
reducción de la imagen se obtiene una exactitud de 0.7373 y aplicando los elementos
descritos en las fases del método se logra mejorar a una precisión de 0.9653, mientras
que con algoritmos de Deep Learning se tiene 0.9998 y 1 de exactitud.
162
8 Recomendaciones
El escenario actual de la documentación histórica institucional no tiene una
proyección temporal prometedora, sino de un aumento del riesgo de pérdida de de
patrimonio institucional que en un gran porcentaje tiene valor legal, entonces es importante
considerar:
Identificar físicamente documentación con valor legal e histórico institucional y realizar la
preparación de la misma con fines de recuperación digital.
Determinar y utilizar equipos físicos de captura de información documental histórica
considerando estado de conservación de ésta, para evitar riesgos de deterioro.
Fijar objetivos generales y específicos para la generación, actualización y matenimiento de
información histórica digital
Revisar y adoptar proceso adecuado de gestión documental histórica orientado
principalmente a recuperación de forma y contenido con metodologías y herramientas
simples, seguras y de resultados.
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
163
Referencia Bibliográfica
Abdulwahhab Hamad, K., & Kaya, M. (2013). A Detailed Analysis of Optical Character
Recognition Technology. In Original Research Paper This journal is © Advanced
Technology & Science (Issue 4). http://ijamec.atscience.org
Arturo, C., Álvarez, M., Surcolombiana, U., De, F., Sociales, C., Humanas, Y., De
Comunicación Social, P., Periodismo, Y., & Monje Álvarez, C. A. (2011).
METODOLOGÍA DE LA INVESTIGACIÓN CUANTITATIVA Y CUALITATIVA Guía
didáctica.
Breuel, T. M. (n.d.). The OCRopus Open Source OCR System.
Ciresan, D. C., Meier, U., Gambardella, L. M., & Schmidhuber, J. (2010). Deep Big Simple
Neural Nets Excel on Handwritten Digit Recognition.
https://doi.org/10.1162/NECO_a_00052
Custodio, A. (2016). Tess2Speech: An Intelligent Character Recognition-To-Speech
Application for Android Using Google’s Tesseract Optical Character Recognition
Engine.
Escribà del Arco, A. (2013). Reconocimiento De Escritura No Basado en Líneas.
Gonzalez, B. M. (2012). Iris: A Solution for Executing Handwritten Code [University of
Agder]. https://core.ac.uk/download/pdf/225888017.pdf
Guerrero Alejandra, & Silva, G. (n.d.). Extracción de palabras clave usando hipergrafos.
Jackel L, B. M. B. J. B. J. B. C. B. H. (n.d.). Neural-Net Applications in Character
Recognition and Document Analysis.
Kass, M., Witkin, A., & Terzopoulos, D. (1988). Snakes: Active Contour Models.
Lavrenko, V., Rath, T. M., & Manmatha, R. (n.d.). Holistic Word Recognition for
Handwritten Historical Documents.
Martnez Mndez, F. Javier. (2004). Recuperacin de informacin : modelos, sistemas y
evaluacin. Kiosko.
Miralles, L., Pelayo, R., & Brieva, J. (2015). Reconocimiento de dígitos escritos a mano
mediante métodos de tratamiento de imagen y modelos de clasificación. In 83 Research
in Computing Science (Vol. 93).
Rabaev, I., Biller, O., El-Sana, J., Kedem, K., & Dinstein, I. (n.d.). Text Line Detection in
Corrupted and Damaged Historical Manuscripts.
Röder, P. (2009). Adapting the RWTH-OCR Handwriting Recognition System to French
Handwriting.
Rubio Sánchez, H., José, & Murillo Fuentes, J. J. (2017). Deep Learning para el
Reconocimiento de Texto Manuscrito.
Seijas, L. M. (2011). Reconocimiento de patrones utilizando técnicas estadísticas
y conexionistas aplicadas a la clasificación de dígitos manuscritos.
Silva Gabriel, & Dueire Rafael. (2010). HistDoc - A toolbox for processing images of
historical documents. Lecture Notes in Computer Science (Including Subseries Lecture
Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 6112
LNCS(PART 2), 409419. https://doi.org/10.1007/978-3-642-13775-4_41
Tolosa Gabriel H, B. F. R. A. (2016). Introducción a la Recuperación de Información.
http://eprints.rclis.org/12243/1/Introduccion-RI-v9f.pdf
Valero, I. (2017). Técnicas estadísticas en Minería de Textos.
Ventzas, D., Ntogas, N., & Ventza, M.-M. (n.d.). Digital Restoration by Denoising and
Binarization of Historical Manuscripts Images. www.intechopen.com
Xu, C., & Prince, J. L. (1998). Snakes, shapes, and gradient vector flow. IEEE Transactions
on Image Processing, 7(3), 359369. https://doi.org/10.1109/83.661186
Zdeněk, J. (2014). Mobile Application for Recognition of Japanese Writing System.
Zea Evelin. (2016). SISTEMA DE GESTIÓN DOCUMENTAL ELECTRÓNICA, DESDE EL
ISO 15489.
164 Anexos
Anexos
Apéndice A
Algoritmo de Adelgazamiento [23]
Pseudocodigo para patrones 2D
// Thinning function where pattern is a 2D array of size N1 X N2
// returns the skeleton
function thin (pattern) :
while True :
img2 ← img . copy()
//delete along horizontal axis
For x in range (0, pattern .shape [ 0 ] ) do : // pattern . shape= [N1, N2]
y ← 0
while y < pattern . shape [ 1 ] :
// assuming foreground pixels = 1 and background d pixels = 0
if img [ x , y ] = 1 :
Pb ← [ x , y ]
while img [ x , y ] = 1 :
yy + 1
y ← y - 1 // backtrack one step
Pf ← [ x , y ]
if not ( Pf = Pb ) :
//check for deletion of Pf
Np ← nbr_locs ( Pf , pattern )
flag ← 0 // flag = 0 indicates that Pf is deletable
//check for end-point
if sum ( Np ) <= 2 :
flag ← 1
//check for connectivity
for nbr in Np do :
if nbr [ 1 ] > Pf [ 1 ] : // neighbor ahead of Pf
if pattern [ nbr [ 0 ] , nbr [ 1 ] ] = 1 :
temp_nbrs = nbr_locs ( nbr , pattern )
NF ← [ ]
for n in temp_nbrs do:
if n [ 1 ] < nbr [ 1 ] :
Nf .add ( n )
S Nf ∩ Np – Pf
if sum ( s ) = 0 :
flag ← 1
if flag = 0:
pattern [Pf [ 0 ] , Pf [ 1 ] ] ← 0
if not ( pattern [ Pb [ 0 ] , Pb [ 1 ] 1 ] ) = 0 : // trivial condition
// check for deletion of Nb
//delete along vertical axis
if img2 = img :
break
return img
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
Anexos 165
ANEXO B
DESPLIEGUE DE PROYECTO EN HEROKU
Para deployar el proyecto se crea una cuenta en Heroku, y gestionar proyectos mediante
consola o interfaz.
Se instala la app-desktop para subir el proyecto desde dispositivo:
La primera configuración necesaria para nuestro proyecto será especificar el java utilizado
(que en nuestro caso es el java 11). Para ello creamos en el directorio principal el archivo
“system.properties” y en ella le agregamos lo siguiente:
166 Anexos
Tesseract también se ejecutará en el servidor, entonces es necesario especificar a Heroku que
el hilo principal estará ocupado por nuestro proyecto en java, por ende creamos un archivo
“Procfile” donde escribimos lo siguiente:
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
Anexos 167
ANEXO C
TESSERACT EN SERVIDORES LINUX.
Maven construye el proyecto Tesseract direccionando los ejecutables en dll, en Linux no son
ejecutables, por esta razón, se usan buildpacks que son proyectos compilados de aplicaciones
como Tesseract. Los buildpacks encontrados en la web no son compatibles con este proyecto
realizado en Spring Boot, entonces se realiza algunas configuraciones y se genera buildpack
propio.
168 Anexos
ANEXO D
Desarrollo buildpack personalizado
Se instala PeaZip que compirme los archivos compilados previamente en un paquete “ta.gz”
de la siguiente manera:
En la carpeta bin se crea archivo compile que tendrá sentencias bash:
Luego de generar estos archivos se sube a un repositorio github de donde Heroku podrá utilizar
el buildpack:
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
Anexos 169
Luego agregamos a Heroku la dirección del repositorio de la siguiente manera:
170 Anexos
ANEXO E
INICIO DE TENSORFLOW EN JAVA
Como estamos usando el repositorio de Maven agregamos la siguiente dependencia:
Como una primera implementación se desarrollo un ejemplo básico de grafo, donde se requiera
la interoperabilidad de nodos para dar un resultado, que en este caso vamos a simular la suma
de dos multiplicaciones (z=3x+2y) nuestro codigo quedaria de la siguiente manera:
Para la creación del grafo:
Para la ejecución del tensor:
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
Anexos 171
ANEXO F
Instalación de DL4J en Spring Boot
La instalación de esta herramienta para usarlo en java es agregar una dependencia en
Maven de la siguiente forma:
Como ya tenemos nuestra librería importada inicializamos nuestros valores que serán
usados en el modelo:
Configuramos nuestro modelo que procesa la información:
Se agrega imagenes que estan en carpetas de forma iterativa:
172 Anexos
Con el modelo se cargan las imágenes para entrenamiento y exportación de train-data:
Finalmente usamos nuestro train-data para las pruebas:
.
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
Anexos 173
ANEXO G
NGROK GENERACIÓN DE URL PÚBLICA
Ngrok permite exponer a internet una URL generada dinámicamente, la cual apunta
a un servicio web que se está ejecutando en máquina local. Por ejemplo: para un servicio web
arrancado en http://localhost:8080, ngrok genera dinámicamente una URL del tipo
http://xxxxxx.ngrok.io visible en internet, y que apunta directamente a localhost.
Es necesario descargar Ngrok de su página principal, seleccionar el botón de empezar
gratis, registro y acceso al apartado de descargas:
https://ngrok.com/
Para empezar con la herramienta se ejecuta el proyecto y se determina el puerto en el
que está corriendo. Asi, el proyecto está corriendo en el puerto 8888.
Después de descargar la herramienta Ngrok descomprir el archivo y se ejecuta, se
coloca el comando “ngrok http 8888” para realizar la generación de la URL según el puerto
definido en servidor local. Se muestra la información y la URL generada.
Con la URL se observa que proyecto se está ejecuta del mismo modo que se ejecuta
en servidor local.
174 Anexos
ANEXO H
SPRING TOOL COMO HERRAMIENTA DE DESARROLLO
¿Por qué Spring Tool para desarrollo de sistemas java?
El marco de desarrollo Spring es actualmente el más sólido en cuanto a desarrollo eficiente de
sistemas hechos en java, y el IDE perfecto para esto es el Spring-Tool(Modificación de eclipse
para Spring) que ya viene integrado con tecnologías como maven para el manejo de
dependencias, tomcat para la ejecución de servidor, kits de desarrollo que pueden ser
integrados según la necesidad del desarrollador sin tener que importar librerías manualmente
o realizar varias configuraciones como se hacía tradicionalmente.
¿Cómo instalar Spring-Tool en mi dispositivo?
La instalación es de los más sencilla, primero hay que descargar la última versión en su página
oficial https://spring.io/tools, ejecutar el archivo .jar que extrae la aplicación listo a ser usada.
El archivo jar se encuentra en la carpeta de anexos.
Primero descarga y ubica el archivo .jar en el lugar de la instalación.
Luego ejecuta y este ya procede a extraer todo lo necesario para empezar a utilizar la
aplicación.
¿Cómo importar un proyecto maven listo para usar?
Para utilizar un proyecto que está siendo desarrollado en Spring Tool es mejor
importarlo desde el POM.xml, para ello primero seleccionamos importar:
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
Anexos 175
Seleccionamos un proyecto existente:
Buscamos la ubicación de nuestro proyecto en el directorio y lo
seleccionamos:
176 Anexos
Luego aceptamos y seleccionamos el Pom.xml que aparece y listo:
Finalmente para la ejecución es importante seleccionar la ejecución como
Spring Boot App, y revise el puerto localhost:8080:
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
Anexos 177
ANEXO I
DESARROLLO DE LA INTERFAZ
Interfaz para el reconocimiento de texto
La interfaz para el reconocimiento de texto escrito y texto impreso presenta 4 secciones los
cuales se enfocan en lo siguiente:
La sección “Reconocimiento” presenta un reconocimiento normal, reconocimiento de
letra manuscrita y la implementación del reconocimiento haciendo uso de la API de
Google.
La sección “Preprocesamiento” nos otorga la opción de poder elegir varios tipos de
preprocesamiento para aplicar a la imagen y mejorar el reconocimiento de texto.
La sección “Opciones de visualización” proporciona diferentes tipos de visualización
como la detección de párrafos, líneas de texto, palabras y caracteres.
Como última sección tenemos el de selección de archivo de texto para la prueba
cuantitativa de reconocimiento en base al texto original.
Interfaz para el entrenamiento
La interfaz de entrenamiento presenta dos apartados, el que está a la izquierda
es el apartado de dibujo de caracteres y el que se encuentra a la derecha es el
178 Anexos
apartado de ingreso de etiqueta para el entrenamiento, una vez seleccionado
el botón de entrenar se ejecutará el entrenamiento y se devolverá un mensaje
informando el éxito o error de la acción.
La imagen y la etiqueta son enviadas al controlador donde se recuperan estos
datos, se formatea la imagen y se envía a entrar.
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
Anexos 179
ANEXO J
Mapa Conceptual Investigacion Científica
Técnicas e Instrumentos
180 Anexos
ANEXO K
Stopwords
Error! Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here. Error!
Use the Home tab to apply Título 1;PhD Heading 1 to the text that you want to appear here.
Anexos 181
ANEXO L
Restauración de imágenes de caracteres degradados mediante contornos activos:
enfoque general
Metodologías algorítmicas
Ineligencia artificial
Visión computacional
Gráficos de computadora
Manipulación de imágen
Procesamiento de Imagen